У меня есть Fragment
с ViewPager
внутри, который содержит 3 вкладки.Я использовал Jetpack Navigation для управления навигацией.На первой вкладке у меня есть Fragment
с WebView
, в соответствии с собственным поведением навигации Jetpack, он воссоздает представление каждый раз, когда мы переходим к другому фрагменту.
Вот проблема, он загружает URL каждый развремя, когда я возвращаюсь к WebView
Fragment
.Это не может быть обработано с использованием оперативных данных.
Я пытался кэшировать Webview
содержимое, но это просто ускоряет загрузку, но не сразу.
вот мой фрагмент кода
MyFragment.kt
class MyFragment : BaseViewModelFragment<MyViewModel>(), View.OnClickListener {
override fun getContentResource(): Int = R.layout.fragment_my
override fun buildViewModel(): MyViewModel {
return ViewModelProviders.of(this, viewModelFactory)[MyViewModel::class.java]
}
override fun initLiveDataObservers() {
super.initLiveDataObservers()
}
override fun initViews() {
super.initViews()
setupWebView()
}
private fun setupWebView() = with(webView) {
settings.domStorageEnabled = true
settings.setAppCachePath("/data/data/" + activity?.packageName + "/cache")
settings.setAppCacheEnabled(true)
settings.cacheMode = WebSettings.LOAD_CACHE_ELSE_NETWORK
webViewClient = MyWebviewClient()
webChromeClient = MyChromeClient()
loadUrl("http://google.com")
}
}
Любая помощь будет приветствоваться, спасибо заранее!