天天看點

Android WebView緩存

在項目中經常會使用到WebView控件,當加載html頁面時,會在/data/data/應用package目錄下生成database與cache兩個檔案夾如下圖如示:

請求的url記錄是儲存在webviewCache.db,而url的内容是儲存在webviewCache檔案夾下.

為了便于了解,接下來模拟一個案例,定義一個html檔案,在裡面顯示一張圖檔,用WebView加載出來,然後再試着從緩存裡把這張圖檔讀取出來并顯示。

第一步:建立一個Android工程命名為WebViewCache.目錄結構如下:

第二步:在assets目錄下建立一個html檔案,命名為index.html

<a href=""></a>

第三步:修改main.xml布局檔案,一個WebView控件一個Button(點選加載緩存圖檔用),代碼如下:

第四步:修改主核心程式WebViewCacheDemo.java,這裡我隻加載了index.html檔案,按鈕事件暫時沒寫,代碼如下:

第五步:在AndroidMainifest.xml檔案中加通路網絡的權限:

運作效果如下:

此時我們在WebViewCache.db裡的cache.table裡多了一條記錄如下圖所示:

在cache/webviewCache/目錄下多了一個10d8d5cd檔案,剛好和cache.table裡的filepath,我們可以斷定這個檔案就是我們從網上拽下來的圖檔:

為了驗證猜想,我給Button增加事件響應,就是彈出Dialog,裡面加載緩存的圖檔,完整代碼如下:

第六步:再次運作工程,點選button按鈕,效果如下圖所示:

繼續閱讀