Webview не очищает кеш - PullRequest
       43

Webview не очищает кеш

0 голосов
/ 04 июля 2018

Для очистки кэша 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();

Но ничего не очищает кеш. Любое предложение ??

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Чтобы очистить все кэши веб-просмотра, пока вы выходите из приложения:

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

Для леденцов и выше:

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

Чтобы очистить историю, просто выполните:

this.WebView.clearHistory();
0 голосов
/ 04 июля 2018

Я пытался выяснить способ очистки кэша, но все, что мы могли сделать из вышеупомянутых методов, это удалить локальные файлы, но это никогда не очистило оперативную память.

API clearCache освобождает ОЗУ, используемое веб-представлением, и, следовательно, требует повторной загрузки веб-страницы.

public void clearCache (boolean includeDiskFiles)

includeDiskFiles boolean: если false, очищается только кэш ОЗУ

Очищает кеш ресурса.

Обратите внимание, что кэш для каждого приложения, поэтому это очистит кэш для всех используемых WebView.

Рекомендуется: Чтобы очистить все кэши веб-просмотра во время выхода из приложения:

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

Для леденцов и выше:

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