#Jetpack #JetpackWeekly #Webkit #Biometric #Security
Jetpack Weekly #11
🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin
👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
Jetpack Weekly #11
🎁 Biometric 1.0.0 - backport Biometric API из Android 10
🎁 Annotation-Experimental 1.0.0 - перенос Kotlin
@Experimental аннотации в Java при помощи Android Lint👍 Webkit 1.1.0 - больше безопасности, больше дебага, больше поддержки Kotlin и возможность задавать прокси
Medium
Android Jetpack Weekly #11
Experimental annotation, Biometric & Webkit are stable
Вышел Jetpack WebKit 1.11.0:
👉 Возможность управлять проигрыванием аудио в WebView
👉 URLUtilCompat - компат версия URLUtil с проверкой Url и парсингом инфы из них
#webview #webkit #jetpack #jetpackupdate
👉 Возможность управлять проигрыванием аудио в WebView
👉 URLUtilCompat - компат версия URLUtil с проверкой Url и парсингом инфы из них
#webview #webkit #jetpack #jetpackupdate
👍12
Самое полезное в новом минорном релизе:
👉
WebViewCompat.navigate наконец-то нормальная замена loadUrl. Можно заменять страницу в истории, получать объект Navigation и корректно сохранять/восстанавливать заголовки. Для приложений, где WebView — не просто «открыть ссылку», а нормальный флоу, это давно было нужно.if (WebViewFeature.isFeatureSupported(WebViewFeature.WEBVIEW_NAVIGATE_EXPERIMENTAL_V1)) {
val params = NavigationParameters.Builder()
.setShouldReplaceCurrentEntry(true) // заменяет текущую запись в истории
.addAdditionalHeader("X-Custom-Header", "value")
.build()
val navigation: Navigation
= WebViewCompat.navigate(webView, "https://example.com", params)
// navigation можно потом матчить в NavigationListener
}👉 Контроль HTTP-кэша через
Profile.getHttpCache. Можно посмотреть квоту и при необходимости подкрутить. Полезно, если много статики, или наоборот — когда кэш только место жрёт.if (WebViewFeature.isFeatureSupported(WebViewFeature.HTTP_CACHE_MANAGER)) {
val profile = ProfileStore.getInstance().getOrCreateProfile("my_profile")
val httpCache = profile.httpCache // или profile.getHttpCache()
// Посмотреть текущую квоту
val currentQuota = httpCache.quotaBytes
val defaultQuota = httpCache.defaultQuotaBytes
val isDefault = httpCache.isUsingDefaultQuota
// Задать свою квоту (например, 50 МБ)
httpCache.setQuotaBytes(50L * 1024 * 1024)
// Или вернуть автоматическое управление
// httpCache.useDefaultQuota()
}👉
enqueuePreconnect — можно заранее поставить preconnect в очередь, не заставляя WebView стартовать прямо сейчас.👉 Можно отключить автоматическую загрузку фавиконок (
setDownloadFaviconsEnabled). Мелочь, но экономит память и трафик, особенно если иконок много.👉 Плюс Android Lint, который теперь ругается, если кастомный
WebViewClient не переопределил onRenderProcessGone. Полезно, потому рендерер падает регулярно.🔗 Подробности релиза
#Android #AndroidDev #WebView #AndroidJetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
❤13👍4👎4🔥4