保存WebView的状态并在ANDROID中恢复

保存WebView的状态并在ANDROID中恢复,第1张

概述我有一个 Android应用程序,它使用ViewPager构建,并在每个页面中分离WebView.每个WebView都指向不同的网站.例如,Page1:facebook,Page2:Twitter,Page3:Google.用户可以添加/删除页面. 我的mPager.setOffscreenPageLimit(1)(其中mPager是ViewPager的一个实例).这意味着,当用户查看3.页面时, 我有一个 Android应用程序,它使用VIEwPager构建,并在每个页面中分离WebVIEw.每个WebVIEw都指向不同的网站.例如,Page1:facebook,Page2:Twitter,Page3:Google.用户可以添加/删除页面.

我的mPager.setoffscreenPagelimit(1)(其中mPager是VIEwPager的一个实例).这意味着,当用户查看3.页面时,正在处理第一个片段(并在用户查看时再次创建页面2).

我想要的是在销毁之前保存第一个WebVIEw的状态并在某处保存其状态,然后在用户看到它时将其恢复.因为它重新加载页面,显然它很烦人.而且我不希望用户在每次刷卡时重新加载网页.我试过了

mWebVIEw.saveState(outState);mWebVIEw.restoreState(savedInstanceState);

但它似乎不起作用.有关保存和恢复网页浏览状态的任何想法吗?

我试过在某些类中保存WebVIEw本身,保存状态等.

解决方法 实际上,setoffscreenPagelimit()设置要保留在当前页面左侧或右侧的页面数.

来自FragmentPagerAdapter docs:

The fragment of each page the user visits will be kept in memory,
though its vIEw hIErarchy may be destroyed when not visible. This
can result in using a significant amount of memory since fragment
instances can hold on to an arbitrary amount of state.

我认为在你的情况下,因为WebVIEws在内存中可能非常大,所以AndroID会在需要之前将其处理掉.

总结

以上是内存溢出为你收集整理的保存WebView的状态并在ANDROID中恢复全部内容,希望文章能够帮你解决保存WebView的状态并在ANDROID中恢复所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1135424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存