在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java  Android/ WebView各種緩存機(jī)制怎么合適選用?

WebView各種緩存機(jī)制怎么合適選用?

WebView存在多種緩存機(jī)制,這些緩存機(jī)制該如何選用?選用后就不用做進(jìn)一步操作,緩存機(jī)制會(huì)幫我們做相關(guān)的進(jìn)行緩存和讀取緩存操作了?

我了解過(guò)WebView的緩存機(jī)制,其中有一種是瀏覽器緩存機(jī)制,是Chrom內(nèi)核WebView自帶的緩存機(jī)制,它都已經(jīng)存在默認(rèn)緩存機(jī)制了,那豈不是不用做緩存處理了?我看有些代碼都是把所有緩存機(jī)制都開(kāi)啟了(如下代碼),這樣子合適嗎?

相關(guān)代碼

// 開(kāi)啟 DOM storage API 功能
webSettings.setDomStorageEnabled(true);
//開(kāi)啟 database storage API 功能
webSettings.setDatabaseEnabled(true);
String cacheDirPath = getFilesDir().getAbsolutePath() + APP_CACAHE_DIRNAME;
//設(shè)置數(shù)據(jù)庫(kù)緩存路徑
webSettings.setDatabasePath(cacheDirPath);
//設(shè)置 Application Caches 緩存目錄
webSettings.setAppCachePath(cacheDirPath);
//開(kāi)啟 Application Caches 功能
webSettings.setAppCacheEnabled(true);
webSettings.setLoadWithOverviewMode(true);
//設(shè)置WebView支持JavaScript
webSettings.setJavaScriptEnabled(true);
//設(shè)置可以訪問(wèn)文件
webSettings.setAllowFileAccess(true);
//設(shè)置支持縮放
webSettings.setBuiltInZoomControls(true);
webSettings.setDefaultTextEncodingName("UTF-8");

WebView的緩存處理是選用一個(gè)就好還是說(shuō)全部都要開(kāi)啟,WebView會(huì)自己判斷什么時(shí)候運(yùn)用哪個(gè)緩存機(jī)制?

回答
編輯回答
青黛色

Web緩存可以理解為Web資源在Web服務(wù)器和客戶端(瀏覽器)的副本,其作用體現(xiàn)在減少網(wǎng)絡(luò)帶寬消耗、降低服務(wù)器壓力和減少網(wǎng)絡(luò)延遲,加快頁(yè)面打開(kāi)速度等方面

WebView是手機(jī)中內(nèi)置了一款高性能webkit 內(nèi)核瀏覽器,在SDK 中封裝的一個(gè)組件。 沒(méi)有提供地址欄和導(dǎo)航欄,WebView只是單純的展示一個(gè)網(wǎng)頁(yè)界面。簡(jiǎn)單地可以理解為簡(jiǎn)略版的瀏覽器且對(duì)html緩存機(jī)制做了支持

webview的優(yōu)勢(shì):速度 – 緩存資源為本地資源,因此加載速度較快,提供用戶體驗(yàn)。服務(wù)器負(fù)載更少 – 瀏覽器只會(huì)從發(fā)生了更改的服務(wù)器下載資源。離線瀏覽 – 用戶可在離線時(shí)瀏覽您的完整網(wǎng)頁(yè)

參考:
Android WebView緩存機(jī)制詳解
H5 和移動(dòng)端 WebView 緩存機(jī)制解析與實(shí)戰(zhàn)
webView 離線緩存機(jī)制

2018年1月3日 19:43