android - 两个 WebView 之间共享缓存

标签 android caching webview browser-cache

是否可以在多个 webview 之间启用缓存?这是场景:

  1. 创建带有 WebView 1 的 Activity A 以显示 xyz.com
  2. 稍后创建带有 WebView 2 的 Activity B 以再次显示 xyz.com

我尝试了 webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 但页面(我使用大型维基百科页面进行测试)仍然从网络重新加载,而不是使用缓存。

最佳答案

根据documentation ,应用程序中的所有 WebView 共享其缓存。

但是,维基百科似乎总是以标记响应不可缓存的方式设置响应 header :

Cache-Control:private, s-maxage=0, max-age=0, must-revalidate

所以,我不认为你做错了什么,也不认为你可以通过维基百科来解决这个问题。尝试使用更“正常”缓存策略的不同网站,我确信您会看到 WebView 的缓存按您的预期工作。

关于android - 两个 WebView 之间共享缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29211838/

相关文章:

java - Android 相机示例 NullPointerException

Java/Android : How to get a spectrum of the MP3/wav file?

android - 如何在Google map 中标记纬度、经度?

arrays - 在 PL-SQL 中循环之前缓存数组长度

android - 为什么我无法在 android 中从 webview 打开相机?

android - 从自定义适配器打开对话框

http - 如何指示浏览器在缓存资源时忽略 GET 参数

node.js - Hapi.js Catbox Redis 返回 "server.cache is not a function"

javascript - Webview不加载javascript获取内容

javascript - 在 Android WebView 中与 @JavascriptInterface 相对?