上一篇文章讲到了webview技术方面的优化(没有看到的朋友可以看看http://blog.youkuaiyun.com/fkingu007/article/details/44650031),这次进一步完善一下,主要完成状态保留工作,也是解决了我的一个疑问,下面看看如何做到的。
转载请标明文章出处 http://blog.youkuaiyun.com/fkingu007/article/details/44675129,尊重原创。
1、 activity意外被杀
上个博文已经说到了,在onSaveInstanceState(Bundle)调用webview.saveState(bundle)保存状态,在onCreate(Bundle saveInstanceState)里通过savedInstanceState == null判断,不为null,即可通过webview.restoreState(bundle)恢复,这里不多讲了。
2、用户正

本文探讨了如何在Android中优化WebView的用户体验,重点在于如何在activity意外被杀或用户正常返回时恢复WebView的状态。通过webview.saveState()和webview.restoreState()方法可以处理activity意外被杀的情况。对于用户正常按back键,文章提出了利用webview.getContentHeight()和webview.getScrollY()计算滚动位置的比例,并在WebViewClient.onPageFinished()中实现滚动恢复的策略。
最低0.47元/天 解锁文章
1660





