【问题标题】:Retain data in WebView (Android)在 WebView (Android) 中保留数据
【发布时间】:2010-11-27 01:47:27
【问题描述】:

我使用 WebView#loadDataWithBaseURL 将各种生成的 HTML/JS 加载到 Activity 中。有没有办法在 Activity 生命周期中一次又一次地加载?例如 - 用户去查看消息,然后再次调用应用程序。那时 - Activity 已停止并可能被销毁,当它再次加载时,我不想在加载用户已经查看的内容时打嗝。

【问题讨论】:

    标签: android caching webview


    【解决方案1】:

    例如 - 用户去检查 消息,然后再次调用该应用程序。 那时 - 活动是 停止并可能被摧毁

    如果用户直接访问了Notification,或者点击了HOME,你的activity会停止但不会被销毁。在这些情况下,您的 WebView 不应更改内容,除非您更改它。

    如果用户按下 BACK 或 Android 由于内存限制需要关闭你,你的 Activity 将被销毁。

    在 BACK 的情况下,用户明确告诉您离开,因此重新加载数据似乎是合理的。

    在内存限制方式中,根据定义,设备内存不足,因此当您回到前台时,您将需要重新加载数据。

    【讨论】:

    • 我只想指出,在单击“主页”后恢复应用程序时,我总是会收到 onCreate 调用。 WebView 不支持加载数据调用的 HTML 的历史记录,这很烦人
    • 关于您的 onCreate(),您手机上的某些东西正在像筛子一样泄漏内存,或者您在 onPause()/onStop() 代码中明确调用了 finish(),或者其他什么是发生这种情况会导致您的活动(或流程)被破坏然后重新启动。或者,也许您在清单中设置了标志,要求每次都启动新任务。
    【解决方案2】:

    当我单击 HOME 并稍后我重新启动我的应用程序时,WebView 的内容保留了。 但是当我触发 Intent(例如条形码扫描仪)时,在 Intent 完成并返回我的应用程序后,我的应用程序中的 WebView 被重新加载。

    当 Intent 返回时我可以保留我的 WebView 内容吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      相关资源
      最近更新 更多