您的位置:首页 > 移动开发

Android webView缓存机制

2013-03-21 13:52 302 查看
转自:http://www.eoeandroid.com/thread-190311-1-1.html

在项目中经常会使用到WebView控件,当加载html页面时,会在/data/data/应用package目录下生成database与cache两个文件夹如下图如示:



请求的url记录是保存在webviewCache.db,而url的内容是保存在webviewCache文件夹下.

为了便于理解,接下来模拟一个案例,定义一个html文件,在里面显示一张图片,用WebView加载出来,然后再试着从缓存里把这张图片读取出来并显示。

第一步:新建一个Android工程命名为WebViewCache.目录结构如下:



第二步:在assets目录下新建一个html文件,命名为index.html

?
代码片段,双击复制

第三步:修改main.xml布局文件,一个WebView控件一个Button(点击加载缓存图片用),代码如下:

?
代码片段,双击复制

第四步:修改主核心程序WebViewCacheDemo.java,这里我只加载了index.html文件,按钮事件暂时没写,代码如下:

?
代码片段,双击复制

第五步:在AndroidMainifest.xml文件中加访问网络的权限:

?
代码片段,双击复制

运行效果如下:



此时我们在WebViewCache.db里的cache.table里多了一条记录如下图所示:



在cache/webviewCache/目录下多了一个10d8d5cd文件,刚好和cache.table里的filepath,我们可以断定这个文件就是我们从网上拽下来的图片:



为了验证猜想,我给Button增加事件响应,就是弹出Dialog,里面加载缓存的图片,完整代码如下:

?
代码片段,双击复制

第六步:再次运行工程,点击button按钮,效果如下图所示:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: