WebView的LOAD_NO_CACHE设置仍然将文件保存到磁盘?

时间:2011-03-09 00:13:07

标签: android caching webview

尽管使用webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);,WebView仍然将MB的文件保存到缓存中。有没有办法真正禁用缓存?

由于

2 个答案:

答案 0 :(得分:2)

似乎没有什么可以完全禁用缓存。

最好忽略缓存并强制webView每次加载新页面或新页面。

如果有人担心占用缓存大小,可以限制缓存大小。有很多方法可以这样做,看看我的similar answer。希望,答案会给出一些暗示。

但有两件事看起来很有希望禁用缓存,

1)在加载页面时使用标题参数,

注意:适用于Android API 8 +

    Map<String, String> noCacheHeaders = new HashMap<String, String>(2);
    noCacheHeaders.put("Pragma", "no-cache");
    noCacheHeaders.put("Cache-Control", "no-cache");
    view.loadUrl(url, noCacheHeaders);

2)如果您要将html页面加载到webView中, 您可以将以下元标记添加到HTML页面中。

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> 

希望这会对你有所帮助。

答案 1 :(得分:-1)

在WebSettings中尝试setAppCacheEnabled(false)

Api参考: WebSettings.setAppCacheEnabled(boolean flag)