在 WebView (Android) 中保留数据
Posted
技术标签:
【中文标题】在 WebView (Android) 中保留数据【英文标题】:Retain data in WebView (Android) 【发布时间】:2010-11-27 01:47:27 【问题描述】:我使用 WebView#loadDataWithBaseURL 将各种生成的 html/JS 加载到 Activity 中。有没有办法在 Activity 生命周期中一次又一次地加载?例如 - 用户去查看消息,然后再次调用应用程序。那时 - Activity 已停止并可能被销毁,当它再次加载时,我不想在加载用户已经查看的内容时打嗝。
【问题讨论】:
【参考方案1】:例如 - 用户去检查 消息,然后再次调用该应用程序。 那时 - 活动是 停止并可能被摧毁
如果用户直接访问了Notification
,或者点击了HOME,你的activity会停止但不会被销毁。在这些情况下,您的 WebView
不应更改内容,除非您更改它。
如果用户按下 BACK 或 android 由于内存限制需要关闭你,你的 Activity 将被销毁。
在 BACK 的情况下,用户明确告诉您离开,因此重新加载数据似乎是合理的。
在内存限制方式中,根据定义,设备内存不足,因此当您回到前台时,您将需要重新加载数据。
【讨论】:
我只想指出,在单击“主页”后恢复应用程序时,我总是会收到 onCreate 调用。 WebView 不支持加载数据调用的 HTML 的历史记录,这很烦人 关于您的 onCreate(),您手机上的某些东西正在像筛子一样泄漏内存,或者您在 onPause()/onStop() 代码中明确调用了 finish(),或者其他什么是发生这种情况会导致您的活动(或流程)被破坏然后重新启动。或者,也许您在清单中设置了标志,要求每次都启动新任务。【参考方案2】:当我单击 HOME 并稍后我重新启动我的应用程序时,WebView 的内容保留了。 但是当我触发 Intent(例如条形码扫描仪)时,在 Intent 完成并返回我的应用程序后,我的应用程序中的 WebView 被重新加载。
当 Intent 返回时我可以保留我的 WebView 内容吗?
【讨论】:
以上是关于在 WebView (Android) 中保留数据的主要内容,如果未能解决你的问题,请参考以下文章
在 Android 2.1 中方向更改期间保存 WebView 滚动位置的问题
android webview:防止文本选择actionMode actionBar