我有一个Android应用程序,它使用ViewPager
和每个页面中的单独WebView构建。每个WebView
指向不同的网站。例如,Page1:facebook,Page2:Twitter,Page3:Google+。用户可以添加/删除页面。
我的mPager.setOffscreenPageLimit(1)
(其中mPager
是ViewPager
的实例)。这意味着,当用户查看3.页面时,将处理第一个 fragment (并在用户再次查看2.页面时重新创建)。
我想要的是在销毁之前先保存WebView的状态并将其状态保存在某个地方,然后在用户看到它时将其还原。因为它会重新加载页面,而且显然很烦人。而且我不希望用户每次刷卡都重新加载网页。我尝试过
mWebView.saveState(outState);
mWebView.restoreState(savedInstanceState);
但这似乎行不通。关于保存和还原WebView状态的任何想法?
我试图在某些类中保存WebView本身,保存状态等。
最佳答案
实际上,setOffscreenPageLimit()
设置要保留在当前页面左侧或右侧的页面数。
从FragmentPagerAdapter
docs:
我认为在您的情况下,由于WebViews的内存可能很大,因此Android会丢弃它,直到再次需要它为止。