我一直在尝试启用Android WebView中的缓存,但是我在SO上看到的每个配置都以失败告终。
这是我的情况:
我有一个网页,其中包含一个Iframe,在循环中加载10-12个页面,所有这些页面中的所有内容都具有Cache-Control: max-age = 86400
标头。
如果我在浏览器中正常加载这些页面,它们可以工作并且页面已被缓存。
所以这里是我的配置:
getSettings().setJavaScriptEnabled(true);
getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
getSettings().setDomStorageEnabled(true);
getSettings().setMediaPlaybackRequiresUserGesture(false);
getSettings().setAppCacheEnabled(true);
getSettings().setAppCachePath(context.getCacheDir().getAbsolutePath());
getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
这些设置适用于媒体播放和启用js。
编辑:
我构建了一个新应用程序,并尝试使用
loadUrl
方法加载谷歌,然后在没有网络的情况下使用按钮重新加载该页面,它能够在没有互联网的情况下重新加载该页面,这意味着它缓存了该页面。因此问题在于webview没有缓存正在被页面加载的页面。
如果有人知道如何缓存通过webview加载的内容,那将是一个很大的帮助。
-谢谢