首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Android中缓存文件时的最佳实践

在Android中缓存文件时的最佳实践
EN

Stack Overflow用户
提问于 2010-08-21 14:41:32
回答 1查看 7K关注 0票数 18

目前,我的应用程序在应用程序的cache子目录中缓存图像文件。图像在ListView中使用,并存储在SoftReferencesBitmapsHashMap中。

所以我的问题是,从用户的角度来看,缓存这些图像文件的最好方法是什么,而不会增加我的应用程序使用的空间并保持响应能力。

我关心的事情:

我知道用户可以清除缓存,当内存空间不足时,它会自动完成,但我觉得大多数用户会看到几MB的应用程序并卸载它。此外,如果空间一直很低,我的应用程序将继续下载图像,使其看起来更慢。

大部分设备都预装了SD卡,但如果SD卡没有插入,我该怎么办?与内部存储相比,SD卡也可能更慢,从而影响我的应用程序的性能。

我是否应该包含一个选项来选择缓存的位置?

我应该尝试管理缓存的大小(是在/cache还是/sdcard中),还是干脆忘了它?

感谢您的时间(这是一个很长的我知道),并请张贴任何相关的经验。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-24 01:12:43

我不能为您提供一套全面的最佳实践,但我可以提供我到目前为止所学到的:

管理缓存是一个好主意。我的应用程序的缓存是这样的,我知道我永远不会需要超过一定数量的缓存文件,所以每当我向缓存中插入新文件时,我都会删除最旧的文件,直到我达到了设置的限制。你可以根据大小或者简单的年龄来做类似的事情。

如果您的缓存需要占用大量空间,那么缓存到SD卡是一个好主意。您需要同样小心地管理该空间,因为它不会自动为您清除该空间。如果您正在缓存图像文件,请确保将它们放在一个以点开头的目录中,如"/yourAppHere/.cache“。这将阻止图像出现在图库中,这真的很烦人。

让用户选择缓存的位置对我来说似乎有点过头了,但如果你的读者是非常极客,这可能会很受欢迎。

我没有注意到缓存到SD时会有多大的损失,但我不知道你的应用程序是如何使用这些信息的。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3536639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档