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

前端之家收集整理的这篇文章主要介绍了保存WebView的状态并在ANDROID中恢复前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 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会在需要之前将其处理掉.

原文链接:https://www.f2er.com/android/314877.html

猜你在找的Android相关文章