我有一个Android应用程序,它使用ViewPager和每个页面中的单独WebView构建。每个WebView指向不同的网站。例如,Page1:facebook,Page2:Twitter,Page3:Google+。用户可以添加/删除页面。

我的mPager.setOffscreenPageLimit(1)(其中mPagerViewPager的实例)。这意味着,当用户查看3.页面时,将处理第一个 fragment (并在用户再次查看2.页面时重新创建)。

我想要的是在销毁之前先保存WebView的状态并将其状态保存在某个地方,然后在用户看到它时将其还原。因为它会重新加载页面,而且显然很烦人。而且我不希望用户每次刷卡都重新加载网页。我尝试过

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

但这似乎行不通。关于保存和还原WebView状态的任何想法?

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

最佳答案

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

FragmentPagerAdapter docs:



我认为在您的情况下,由于WebViews的内存可能很大,因此Android会丢弃它,直到再次需要它为止。

10-07 18:58
查看更多