gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:17:05 24 4
gpt4 key购买 nike

我有一个 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 :

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.

我认为在您的情况下,由于 WebView 的内存可能非常大,Android 会处理它直到再次需要它。

关于android - 保存 WebView 的状态并在 ANDROID 中恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10156450/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com