2

为了清除 WebView 的缓存,我使用了

   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();

但没有什么是清除缓存。有什么建议吗??

4

2 回答 2

3

我一直在试图找出清除缓存的方法,但是我们可以从上述方法中做的就是删除本地文件,但它永远不会清除 RAM。

API clearCache 释放了 webview 使用的 RAM,因此要求重新加载网页。

public void clearCache (boolean includeDiskFiles)

includeDiskFiles 布尔值:如果为 false,则仅清除 RAM 缓存

清除资源缓存。

请注意,缓存是针对每个应用程序的,因此这将清除所有使用的 WebView 的缓存。

建议: 要在您从 APP 注销时清除所有 webview 缓存:

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

棒棒糖及以上:

CookieSyncManager.createInstance(this);         
CookieManager cookieManager = CookieManager.getInstance();        
cookieManager.removeAllCookies(ValueCallback);
于 2018-07-04T07:34:39.223 回答
1

要在您从 APP 注销时清除所有 webview 缓存:

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

棒棒糖及以上:

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

要清除历史记录,只需执行以下操作:

this.WebView.clearHistory();
于 2018-07-04T07:38:15.847 回答