WebView's LOAD_NO_CACHE setting still saves fi

2020-08-19 01:37发布

Despite using webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);, the WebView is still saving MB's worth of files into the cache. Is there a way to truly disable the cache?

Thanks

2条回答
Rolldiameter
2楼-- · 2020-08-19 01:55

Nothing seems to be promising to disable cache completely.

It would be better to just ignore the cache and force webView to load new or fresh page each time.

if someone is worrying about occupied cache size, one can limit the cache size. There are plenty of methods to do so, have a look at my similar answer. Hope, the answer will give some hint about it.

But two things look promising to me for disabling the cache,

1) Make use of header parameters when you are loading a page,

Note : available for 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) If you have html page which you are going to load into the webView, you can add the following meta tags into the HTML page.

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

Hope this will help you.

查看更多
可以哭但决不认输i
3楼-- · 2020-08-19 02:20

Try setAppCacheEnabled(false) in WebSettings.

Api reference: WebSettings.setAppCacheEnabled(boolean flag)

查看更多
登录 后发表回答