真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

AndroidWebView緩存詳解

 Android WebView 緩存詳解

道縣網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)建站,道縣網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為道縣上千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的道縣做網(wǎng)站的公司定做!

一. 兩種緩存類型:

頁(yè)面緩存:加載一個(gè)網(wǎng)頁(yè)時(shí)的html、JS、CSS等頁(yè)面或者資源數(shù)據(jù),這些緩存資源是由于瀏覽器 的行為而產(chǎn)生,開(kāi)發(fā)者只能通過(guò)配置HTTP響應(yīng)頭影響瀏覽器的行為才能間接地影響到這些緩存數(shù)據(jù)。 而緩存的索引放在:/data/data//databases 對(duì)應(yīng)的文件放在:/data/data/package_name/cache/webviewCacheChromunm下
數(shù)據(jù)緩存:分為AppCache和DOM Storage兩種 我們開(kāi)發(fā)者可以自行控制的就是這些緩存資源

AppCache:

       我們能夠有選擇的緩沖web瀏覽器中所有的東西,從頁(yè)面、圖片到腳本、css等等。 尤其在涉及到應(yīng)用于網(wǎng)站的多個(gè)頁(yè)面上的CSS和JavaScript文件的時(shí)候非常有用。其大小目前通常是5M。 在Android上需要手動(dòng)開(kāi)啟(setAppCacheEnabled),并設(shè)置路徑(setAppCachePath)和容量 (setAppCacheMaxSize),而android中使用ApplicationCache.db來(lái)保存AppCache數(shù)據(jù)!

DOM Storage:

存儲(chǔ)一些簡(jiǎn)單的用key/value對(duì)即可解決的數(shù)據(jù),根據(jù)作用范圍的不同,有Session Storage和Local Storage兩種,分別用于會(huì)話級(jí)別的存儲(chǔ)(頁(yè)面關(guān)閉即消失)和本地化存儲(chǔ)(除非主動(dòng) 刪除,否則數(shù)據(jù)永遠(yuǎn)不會(huì)過(guò)期)在Android中可以手動(dòng)開(kāi)啟DOM Storage(setDomStorageEnabled), 設(shè)置存儲(chǔ)路徑(setDatabasePath)Android中Webkit會(huì)為DOMStorage產(chǎn)生兩個(gè)文件(my_path/localstorage/http_blog.csdn.net_0.localstorage和my_path/Databases.db)

二、WebView的5種緩存模式:

LOAD_NO_CACHE: 不使用緩存,只從網(wǎng)絡(luò)獲取數(shù)據(jù)
LOAD_CACHE_ONLY:  不使用網(wǎng)絡(luò),只讀取本地緩存數(shù)據(jù)
LOAD_DEFAULT:  根據(jù)cache-control決定是否從網(wǎng)絡(luò)上取數(shù)據(jù)
LOAD_CACHE_NORMAL: API level 17中已經(jīng)廢棄, 從API level 11開(kāi)始作用同LOAD_DEFAULT模式
LOAD_CACHE_ELSE_NETWORK,只要本地有,無(wú)論是否過(guò)期,或者no-cache,都使用緩存中的數(shù)據(jù)

三、WebView緩存模式的設(shè)置:

  webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);//或其他模式 

 根據(jù)需求緩存策略可為:判斷是否有網(wǎng)絡(luò)  有:使用LOAD_DEFAULT/LOAD_NO_CACHE

  無(wú):使用LOAD_CACHE_ELSE_NETWORK

四、刪除緩存數(shù)據(jù):

webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
 webView.clearCache(true);
 webView.clearHistory();
 webView.clearFormData();
/**
 * 清除WebView緩存 
 */
public void clearWebViewCache(){

  //清理Webview緩存數(shù)據(jù)庫(kù)  
  try {
    deleteDatabase("webview.db");
    deleteDatabase("webviewCache.db");
  } catch (Exception e) {
    e.printStackTrace();
  }

  //WebView 緩存文件  
  File appCacheDir = new File(getFilesDir().getAbsolutePath()+APP_CACAHE_DIRNAME);
  Log.e(TAG, "appCacheDir path="+appCacheDir.getAbsolutePath());

  File webviewCacheDir = new File(getCacheDir().getAbsolutePath()+"/webviewCache");
  Log.e(TAG, "webviewCacheDir path="+webviewCacheDir.getAbsolutePath());

  //刪除webview 緩存目錄  
  if(webviewCacheDir.exists()){
    deleteFile(webviewCacheDir);
  }
  //刪除webview 緩存 緩存目錄  
  if(appCacheDir.exists()){
    deleteFile(appCacheDir);
  }
}  

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


網(wǎng)站名稱:AndroidWebView緩存詳解
當(dāng)前網(wǎng)址:http://weahome.cn/article/ijpoeg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部