Android WebView清除緩存,總有一個方法適合你

一,緩存介紹

緩存分爲:頁面緩存和數據緩存

頁面緩存: 指加載一個網頁時的html、JS、CSS等頁面或者資源數據。

數據緩存 : 數據緩存分爲AppCache和DOM Storage兩種。

一般清除指的是數據緩存;

注意:以下清理緩存的方法,沒有區分是那種緩存;

二,各種清楚緩存的方法

1,清除數據庫緩存

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

2,清楚歷史

webView.clearHistory();

3,清空Cookie

關於這個有幾種寫法:

a

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

b

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

c

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {
    CookieManager.getInstance().removeAllCookies(null);
    CookieManager.getInstance().flush();
}

d

CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
       cookieManager.removeSessionCookies(null);
       cookieManager.removeAllCookie();
       cookieManager.flush();
} else {
       cookieManager.removeSessionCookies(null);
       cookieManager.removeAllCookie();
       CookieSyncManager.getInstance().sync();
}

4,清空Localstorage

WebStorage.getInstance().deleteAllData(); //清空WebView的localStorage

5,其他方法:設置統一的緩存路徑,然後需要清楚數據時候,遍歷每個路徑下的文件然後一一刪除;

三,其他和緩存相關的API

webView.clearFormData();
//設置緩存模式
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);//有五種緩存模式
//設置數據庫緩存路徑
webView.getSettings().setDatabasePath(cacheDirPath);
//設置應用緩存目錄
webView.getSettings().setAppCachePath(cacheDirPath);
//DOM存儲功能
webView.getSettings().setDomStorageEnabled(true);
//數據庫存儲功能
webView.getSettings().setDatabaseEnabled(true);
//應用緩存
webView.getSettings().setAppCacheEnabled(true);

四,其他

調用系統瀏覽器去下載文件(loadUrl是下載地址):

Intent intent= new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse(loadUrl);
intent.setData(content_url);  
startActivity(Intent.createChooser(intent, "請選擇瀏覽器"));

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章