【问题标题】:Is there a way to pre-cache a web page for viewing with an Android WebView?有没有办法预先缓存网页以使用 Android WebView 查看?
【发布时间】:2011-11-29 09:44:54
【问题描述】:

我已经阅读了有关 HTML5 缓存清单的信息,并且我看到 Android 确实支持使用缓存清单来缓存网站。我想使用缓存清单下载我的网站所需的所有资源以预加载它,然后打开一个 WebView 并使用预缓存的资源显示远程网站。我想以某种方式预先缓存我的远程页面,最好不使用 WebView 进行缓存。

使用 WebView 进行预缓存过程的问题在于,使用 WebView 加载网页会呈现并执行页面,而不是仅仅下载它。

我读过这篇文章:http://alex.tapmania.org/2010/11/html5-cache-android-webview.html,但是拥有 WebView 支持缓存并不是我想要的。我希望在完成预缓存资源后立即加载过程(假设远程网站的缓存清单 / etags 与缓存版本相同),而不是等待 WebView 加载并缓存所有内容第一次访问。

预缓存网页以供以后查看的正确方法是什么?

谢谢!

【问题讨论】:

    标签: java android html caching webview


    【解决方案1】:

    您想要做的事情需要为使用数据库 API 的 HTML5 应用程序实现应用程序缓存、链接资源、cookie 和本地数据库存储机制,这是当今浏览器所做工作的重要组成部分。我不建议您自己进行缓存,不仅因为它的工作量很大,而且因为我不记得WebView 中的任何方法以及接受外部缓存的朋友(WebViewClient 等)。

    但是您的问题有一个非常简单的解决方案:您可以在视图中放置一个WebView,并将其visibility 设置为gone。然后在页面加载完成后使其可见。 WebView 还会自动为您的应用保留缓存,以便下次运行时更快地加载页面。

    要隐藏您的WebView,然后自动显示它,您只需覆盖WebViewClient 中的onPageFinished

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 2021-07-16
      • 1970-01-01
      • 2011-09-01
      • 2016-10-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多