Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android WebView的緩存方式分析

Android WebView的緩存方式分析

編輯:關於Android編程

WebView的緩存可以分為(1)頁面緩存和(2)數據緩存。

頁面緩存是指當WebView加載一個網頁時的html、JS、CSS等頁面或者資源數據。這些緩存資源是由於浏覽器的行為而產生,開發者只能通過配置HTTP響應頭來影響浏覽器的行為才能間接地影響到這些緩存數據。

他們的索引存放在/data/data/package_name/databases下。他們的文件存放在/data/data/package_name/cache/xxxwebviewcachexxx下。文件夾的名字在2.x和4.x上有所不同,但都文件夾名字中都包含webviewcache。


數據緩存分為兩種:AppCache和DOM Storage(Web Storage)。他們是因為頁面開發者的直接行為而產生。所有的緩存數據都由開發者直接完全地掌控。
AppCache使我們能夠有選擇的緩沖web浏覽器中所有的東西,從頁面、圖片到腳本、css等等。尤其在涉及到應用於網站的多個頁面上的CSS和JavaScript文件的時候非常有用。其大小目前通常是5M。
在Android上需要手動開啟(setAppCacheEnabled),並設置路徑(setAppCachePath)和容量(setAppCacheMaxSize)
Android中Webkit使用一個db文件來保存AppCache數據(my_path/ApplicationCache.db)
更詳細的資料可以參考這裡:http://www.itboat.net/thread-23674-1-1.html

如果需要存儲一些簡單的用key/value對即可解決的數據,DOM Storage是非常完美的方案。

根據作用范圍的不同,有Session Storage和Local Storage兩種,分別用於會話級別的存儲(頁面關閉即消失)和本地化存儲(除非主動刪除,否則數據永遠不會過期)。

在Android中可以手動開啟DOM Storage(setDomStorageEnabled),設置存儲路徑(setDatabasePath)
Android中Webkit會為DOM Storage產生兩個文件(my_path/localstorage/http_h5.m.taobao.com_0.localstorage和my_path/localstorage/Databases.db)。

另外,在Android中清除緩存時,如果需要清除Local Storage的話,僅僅刪除Local Storage的本地存儲文件是不夠的,內存裡面有緩存數據。如果再次進入頁面,Local Storage中的緩存數據同樣存在。需要殺死程序運行的當前進程再重新啟動才可以。




  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved