我有一个Android应用程序,它使用ViewPager
构建,并在每个页面中分隔WebView。每个WebView
指向不同的网站。例如,Page1:facebook,Page2:Twitter,Page3:Google+。用户可以添加/删除页面。
我的mPager.setOffscreenPageLimit(1)
(其中mPager
是ViewPager
的实例)。这意味着,当用户查看3.页面时,第一个片段正在处理(并在用户再次查看页面时重新创建)。
我想要的是在销毁之前保存第一个WebView的状态并在某处保存其状态,然后在用户看到它时将其恢复。因为它重新加载页面,显然它很烦人。而且我不希望用户在每次刷卡时重新加载网页。我试过
mWebView.saveState(outState);
mWebView.restoreState(savedInstanceState);
但它似乎不起作用。有关保存和恢复网页浏览状态的任何想法吗?
我尝试在某些类中保存WebView,保存状态等。
答案 0 :(得分:0)
实际上,setOffscreenPageLimit()
设置要保留在当前页面左侧或右侧的页数。
来自FragmentPagerAdapter
docs:
用户访问的每个页面的片段将保存在内存中, 虽然它的视图层次结构可能在不可见时被销毁。这个 因为片段会导致使用大量内存 实例可以保持任意数量的状态。
我认为在你的情况下,由于WebViews在内存中可能非常大,Android会在需要它之前将其处理掉。