两个 WebView 之间的共享缓存

Sim*_*mon 2 android caching webview browser-cache

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

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

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

Gre*_*eek 5

根据文档,应用程序中的所有 WebView 共享它们的缓存。

但是,看起来维基百科总是以这样一种方式设置响应标头,以标记响应不可缓存:

Cache-Control:private, s-maxage=0, max-age=0, must-revalidate
Run Code Online (Sandbox Code Playgroud)

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