一,緩存介紹
緩存分爲:頁面緩存和數據緩存
頁面緩存: 指加載一個網頁時的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, "請選擇瀏覽器"));