我已经实现了 webview saveState() restoreState() 逻辑来恢复 webview 的当前页面和历史记录,如下所示:
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
...
if(savedInstanceState != null)
{
webView.restoreState(savedInstanceState);
}
else
{
webView.loadUrl(url);
}
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
if(webView != null) webView.saveState(outState);
}
我正在通过在应用程序处于后台时通过 DDMS 终止应用程序进程来测试状态保存。
重新启动应用程序时,它在 2.x 设备上按预期工作,但在 4.x 设备上不正常。相反,我要么得到一个空白的 webview,要么奇怪的是,显示历史中的第一页。
有没有人遇到过 webview 的 4.x 特定问题?