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

Eva*_*ack 7 android webview android-viewpager

我有一个Android应用程序,它ViewPager在每个页面中构建并分离WebView.每个WebView点不同的网站.例如,Page1:facebook,Page2:Twitter,Page3:Google+.用户可以添加/删除页面.

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

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

mWebView.saveState(outState);
mWebView.restoreState(savedInstanceState);
Run Code Online (Sandbox Code Playgroud)

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

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

Jon*_*Lin 0

实际上,setOffscreenPageLimit()设置要保留在当前页面左侧或右侧的页数。

来自FragmentPagerAdapter 文档

用户访问的每个页面的片段将保留在内存中,尽管其视图层次结构在不可见时可能会被破坏。这可能会导致使用大量内存,因为片段实例可以保存任意数量的状态。

我认为在你的情况下,由于 WebViews 的内存可能相当大,Android 会处理它,直到再次需要它。