Android WebView快取策略詳解

2021-06-18 01:38:53 字數 857 閱讀 6197

一、網頁快取

1、快取構成

/data/data/package_name/cache/

/data/data/package_name/database/webview.db

/data/data/package_name/database/webviewcache.db

2、快取模式

較難理解的是以下兩個模式:

load_default,根據cache-control決定是否從網路上取資料。

load_cache_else_network,只要本地有,無論是否過期,或者no-cache,都使用快取中的資料。

如:m.taobao.com的cache-control為no-cache,在模式load_default下,無論如何都會從網路上取資料,如果沒有網路,就會出現錯誤頁面;在load_cache_else_network模式下,無論是否有網路,只要開啟過一次,都使用快取。

m.sina.com.cn的cache-control為max-age=60,在兩種模式下都使用本地快取資料。

總結:根據以上兩種模式,建議快取策略為,判斷是否有網路,有的話,使用load_default,無網路時,使用load_cache_else_network。

3、清除快取

clearcache(boolean)。

cachemanager.clear。高版本中需要呼叫隱藏api。

4、控制大小

無系統api支援。

可選方式:定時統計快取大小、按時間順序刪除快取。

二、h5快取

1、快取構成

2、快取模式

3、清除快取

4、控制大小

三、參考**

閱讀和實驗。

Android WebView刪除快取

刪除儲存於手機上的快取.clear the cache before time numdays private int clearcachefolder file dir,long numdays if child.lastmodified numdays catch exception e ret...

android webview 文字重疊

webview載入本地資源檔案html時,如果html中有,載入時會先載入文字,後載入,因此會出現排版混亂的情況,好像載入了兩遍,這種情況是因為,html中的高度是自適應的,沒有設定具體的值,載入出來後,並沒有將文字往下擠壓,所以出現了重疊的現象,解決方法 將html中的寬高設成固定的值,這樣載入文...

android webview 文字重疊

webview載入本地資源檔案html時,如果html中有,載入時會先載入文字,後載入,因此會出現排版混亂的情況,好像載入了兩遍,這種情況是因為,html中的高度是自適應的,沒有設定具體的值,載入出來後,並沒有將文字往下擠壓,所以出現了重疊的現象,解決方法 將html中的寬高設成固定的值,這樣載入文...