两个 WebView 之间的共享缓存

Shared cache between two WebViews

是否可以在多个网页视图之间启用缓存?场景如下:

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

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

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

但是,维基百科似乎总是设置响应 headers 以标记响应 un-cacheable:

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

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