TGINSIGHT CHAT
Android Broadcast
@android_broadcast
TechnologiesПодборка новостей и статей для Android разработчиков. Реклама и связь с автором @ab_manager РКН https://abdev.by/rkn_tg_ab#MQRZR
Posts récents
Tag : #webview · 3 posts
Publié il y a 27 jours
🚀Вышел AndroidX WebKit 1.16.0. Забирай в работу интеграции 👉 minSdk поднят до 24 (Android 7.0) — учитывайте при апгрейде. 👉 Async-старт WebView вышел из experimental. startUpWebView вместе с ProcessGlobalConfig позволяют прогреть WebView в фоне до того как он понадобится UI. Эту штуку давно ждали в стабильной версии — для меня самое ценное обновление этого релиза. 👉 Navigation API тоже стабильный. Больше не надо @OptIn — addNavigationListener даёт колбэки на разных стадиях навигации, ошибку загрузки через Navigation.webResourceError, URL текущей страницы через Page. Главное — теперь FCP и LCP метрики прилетают напрямую из WebView без инъекции JS: // Перед использованием проверь // WebViewFeature.isFeatureSupported(WebViewFeature.NAVIGATION_LISTENER) WebViewCompat.addNavigationListener(webView, object : NavigationListener { override fun onFirstContentfulPaintMillis(page: Page, millisFromNavStart: Long) { analytics.report("FCP", millisFromNavStart, page.url) } override fun onLargestContentfulPaintMillis(page: Page, millisFromNavStart: Long) { analytics.report("LCP", millisFromNavStart, page.url) } override fun onNavigationCompleted(navigation: Navigation) { navigation.webResourceError?.let { err -> Log.w("WV", "load failed: ${err.errorCode}") } } }) На один WebView можно вешать несколько листенеров и прокидывать свой Executor если нужны колбэки в фоновом потоке. 👉WebViewCompat.saveState теперь умеет ограничивать размер state. Если ловили TransactionTooLarge при сохранении состояния — это для вас. 👉 Подвезли addJavaScriptOnEvent для инъекции JS на загрузку документа и инъекцию скриптов в isolated worlds без конфликтов со страницей. Гибридным приложениям пригодится. 👉 [EXPERIMENTAL] BackForwardCacheSettings полностью переписали. Если использовали старый Builder через WebSettingsCompat.setBackForwardCacheSettings — ловите ошибку компиляции при апгрейде. Теперь так: val settings = WebSettingsCompat.getBackForwardCacheSettings(webView.settings) settings.setMaxPagesInCache(5) 👉Profile.setSpeculativeLoadingConfig депрекейтнут, замена через Profile.setMaxPrerenders плюс PrefetchCache.setMaxPrefetches и setPrefetchTtlSeconds (тоже experimental). #Android#Webview#Web#AndroidDev
Hashtags
Publié 19 déc.
🚀Обновление для WebView с упором на производительность и контроль Вышла версия 1.15.0 библиотеки AndroidX WebKit (WebView). Главное изменение — повышение minSdk с API 21 до API 23 😁 🎯 Ключевые новые возможности: ⚡️ Ускорение загрузки 👉prerenderUrlAsync() — предварительная загрузка (prerender) страниц для мгновенного открытия. 👉Profile.preconnect()— предварительное установление соединения с origin. 👉Profile.addQuicHints() — подсказка WebView использовать протокол QUIC/HTTP3 для ускорения. 🔧 Больше контроля 👉setHyperlinkContextMenuItems() — кастомизация контекстного меню для ссылок. 👉 setBackForwardCacheSettings() — настройка Back/Forward кэша (таймауты, лимиты). 👉Profile.addCustomHeader() — установка кастомных HTTP-заголовков для запросов. 🔒 Безопасность и отладка 👉 Новый WebViewBuilder API для создания WebView с неизменяемой конфигурацией, что повышает безопасность при использовании addJavascriptInterface. 👉 Улучшенные API для отладки асинхронной инициализации WebView. 👉 Также возвращена отправка заголовка X-Requested-With, а старый API для его исключения помечен как deprecated. #WebView#AndroidDev#Jetpack
Hashtags
Publié 26 mars
🤖Как использовать WebView с Edge-to-edge (EN,6м) Разбор как встроить WebView в интерфейс приложения с поддержкой отображения на весь экран (Edge-to-edge). Рассматриваются варианты когда вы отображаете сторонние сайты и свой web контент, когда вы можете на уровне CSS добавить отступы 🔗Ссылка без VPN #android#edgetoedge#android16#webview#compose