Java 有没有一种方法可以预缓存网页,以便使用Android WebView进行查看?

Java 有没有一种方法可以预缓存网页,以便使用Android WebView进行查看?,java,android,html,caching,webview,Java,Android,Html,Caching,Webview,我读过HTML5缓存清单,我看到Android确实支持使用缓存清单缓存网站。我想使用缓存清单下载网站预加载所需的所有资源,然后打开WebView并使用预缓存的资源显示远程网站。我希望以某种方式预缓存我的远程页面,最好不使用WebView进行缓存过程 在预缓存过程中使用WebView的问题在于,使用WebView加载网页会呈现并执行页面,而不仅仅是下载页面 我读过这篇文章:,但我不想让WebView支持缓存。我希望加载过程在我完成资源预缓存后立即进行(假设远程网站的缓存清单/ETag与缓存版本相同

我读过HTML5缓存清单,我看到Android确实支持使用缓存清单缓存网站。我想使用缓存清单下载网站预加载所需的所有资源,然后打开WebView并使用预缓存的资源显示远程网站。我希望以某种方式预缓存我的远程页面,最好不使用WebView进行缓存过程

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

我读过这篇文章:,但我不想让WebView支持缓存。我希望加载过程在我完成资源预缓存后立即进行(假设远程网站的缓存清单/ETag与缓存版本相同),而不是等待WebView加载并缓存第一次访问时的所有内容

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


谢谢

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

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

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