3

当我访问一个网站(包含一些文本和一些图像)时,/data/data/com.mayexample/app_webview/Cache 中的缓存目录会充满一些名为 4f42185de3a3a461_0、4f42185de3a3a461_1、et4f42185de3a3a461_2 等的文件。我做不到任何与缓存文件有关的东西。你知道打开 webview 缓存文件的方法吗?例如,一个文件不是代表相应的缓存图像吗?谢谢!

4

1 回答 1

0

据我所知,浏览器引擎(实际上是 HTTP 模块)以 URL-to-HashKey 的方式维护这些缓存文件。所以你发现的(如“4f42185de3a3a461_1”)可能与任何网络资源文件相关联,如JS/CSS/images/HTML等。

我记得在早期的 Android 版本中,WebView 用于将此类 URL-to-HashKey 映射数据存储在 sqlite3 表中。

这里的问题是你不知道映射关系,所以你很难检索到你想要的文件。一个棘手的方法是阅读 AOSP 源代码,然后您可能能够知道如何通过唯一的 URL 生成 HashKey,或者您可以操作 sqlite3 表,如果在 Android 4.4 上仍然存在的话。

于 2014-11-26T12:16:35.277 回答