Webview is not clearing the cache

2019-07-17 20:22发布

To clear cache of WebView, I have used

   webview.getSettings().setAppCacheEnabled(false);
   webview.clearCache(true); 
   webview.loadUrl("about:blank");
   webview.reload()

             or 

   deleteDatabase("webview.db");
   deleteDatabase("webviewCache.db");

             or
   webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
   webview.clearCache(true);
   webview.clearHistory();

But nothing is clearing cache. Any suggestion??

2条回答
ら.Afraid
2楼-- · 2019-07-17 20:33

I have been trying to figure out the way to clear the cache, but all we could do from the above mentioned methods was remove the local files, but it never clean the RAM.

The API clearCache, frees up the RAM used by the webview and hence mandates that the webpage be loaded again.

public void clearCache (boolean includeDiskFiles)

includeDiskFiles boolean: if false, only the RAM cache is cleared

Clears the resource cache.

Note that the cache is per-application, so this will clear the cache for all WebViews used.

Suggested: To clear all the webview caches while you signOUT form your APP:

CookieSyncManager.createInstance(this);         
CookieManager cookieManager = CookieManager.getInstance();        
cookieManager.removeAllCookie();

For Lollipop and above:

CookieSyncManager.createInstance(this);         
CookieManager cookieManager = CookieManager.getInstance();        
cookieManager.removeAllCookies(ValueCallback);
查看更多
beautiful°
3楼-- · 2019-07-17 20:59

To clear all the webview caches while you signOUT form your APP:

CookieSyncManager.createInstance(this);         
CookieManager cookieManager = CookieManager.getInstance();        
cookieManager.removeAllCookie();

For Lollipop and above:

CookieSyncManager.createInstance(this);         
CookieManager cookieManager = CookieManager.getInstance();        
cookieManager.removeAllCookies(ValueCallback);

To clear the history, simply do:

this.WebView.clearHistory();
查看更多
登录 后发表回答