为了创造更好的用户体验,我想在智能手机的 HD 上缓存图像(或其他文件,如文本文件)。我将实现的一些功能:
- 定义缓存大小的选项(如果缓存太大,删除例如最旧的文件,直到它低于缓存限制的 90% 左右)
- 删除 X 天未访问的文件
- 在线检查文件是否已更改。目前我正在考虑只在线检索文件的文件大小并将其与本地文件进行比较(如果您更新文件,我认为文件大小完全相同的只有一个小变化)
现在,我想知道:
- 是否已经存在可以处理此问题的框架?我用谷歌找不到任何东西。我确实为 iOS 找到了一些东西,比如 AFNetworking,但我更喜欢跨平台代码(我也不知道 AFNetworking 是否能够做类似的事情)
- 我还找到了类似 ASIDownloadCache 的内容:在这种情况下,他们询问服务器文件是否自 X 以来已被修改。我发现我可以在 C# 中使用 myHttpWebResponse.LastModified 执行类似的操作。这对静态文件可靠吗?
- 如何在本地文件路径上映射 URL?(见下文)
为了在本地文件(在缓存中)上映射 URL,我只是想在某处定义一个“缓存”文件夹并将文件添加到位置“缓存/”+“URL”(没有 http(s):// 的 URL部分)。然后检查文件是否已经缓存非常简单。我也可以使用字典并将其加载到内存中,但是我需要对其进行序列化,我不确定当有很多条目时它是否会提高或降低性能。
谢谢,马特