两个 WebView 之间的共享缓存
Shared cache between two WebViews
是否可以在多个网页视图之间启用缓存?场景如下:
- Activity 创建一个 WebView 1 来显示 xyz.com
- 稍后 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 的缓存按预期工作。
是否可以在多个网页视图之间启用缓存?场景如下:
- Activity 创建一个 WebView 1 来显示 xyz.com
- 稍后 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 的缓存按预期工作。