gpt4 book ai didi

android - Android WebView 缓存目录中的文件格式是什么(data_1、f_000001 等)?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:53 24 4
gpt4 key购买 nike

我在 WebView 的帮助下创建了一个基本的浏览器。

当我访问一个网站(包含一些文本和一些图像)时,/data/data/com.mayexample/cache/webViewCacheChromium 中的缓存目录被一些名为 index、data_0、data_1、data_2、f_00001 的文件填充, f_00002 等

我想知道,这些文件的格式是什么,它们包含什么?我想到“那么,其中一些文件肯定是网站的图像”,并尝试在文件管理器中打开它们(以图像方式打开)。但是无论我选择什么文件,该过程都会显示“加载失败!”。即使我将其中一些重命名为 .jpg,我仍然无法打开任何东西。我在互联网上读到这对某些人有用(看看 Android WebView - Load Images from cache ,这正是我想做的),但我无法对缓存文件做任何事情。

你知道打开 webview 缓存文件的方法吗?例如,一个文件不代表相应的缓存图像吗?

我真正想要实现的(一旦我理解了缓存文件的结构)是以编程方式从它的缓存中获取 webview 的图像,就像上面发布的链接的作者一样(不幸的是,这个帖子的答案没有多大帮助)

谢谢!

最佳答案

缓存的文件可能是 CSS 或 JS/image/html 类型之一。在较早的 Android 版本中,一个缓存文件恰好映射一个 CSS 或 JS/图像/html 文件。


据我所知,浏览器引擎(实际上是 HTTP 模块)以 URL-to-HashKey 的方式维护此类缓存文件。因此,您找到的内容(例如“4f42185de3a3a461_1”)可能与任何 Web 资源文件相关联,例如 JS/CSS/images/HTML 等。

我记得在早期的 Android 版本中,WebView 曾经将这种 URL 到 HashKey 的映射数据存储在 sqlite3 表中。

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

关于android - Android WebView 缓存目录中的文件格式是什么(data_1、f_000001 等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12176507/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com