在項目中經常會使用到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按鈕,效果如下圖所示: