我正在开发一个项目,该项目使用大量从网站获取文本。每周下载4张图像并将其覆盖到同一缓存中。
我担心的是缓存变得充满了存储位图数据的文件。它最初占用了大约1.45mb的缓存,并且在获取图像的时间越来越长。
那么我怎样才能确保每次下载新图像时都会删除旧图像?
或者我不需要担心清理应用程序的缓存吗?
答案 0 :(得分:1)
来自文档:
getCacheDir ()
返回文件系统上特定于应用程序的缓存目录的绝对路径。这些文件将在设备运行不足时首先被删除。无法保证何时删除这些文件。 注意:您不应该依赖系统为您删除这些文件;对于缓存文件占用的空间量,应始终具有合理的最大值(例如1 MB),并在超过该空间时修剪这些文件。
由你决定,它的FileHandle你可以创建擦除更新移动重命名文件。 我可以想到一个文件检查:如果file004存在,删除它,创建新文件
或者如果您更喜欢柔和的方式,只需在您不再需要的文件上设置deleteOnExit()
标记。
编辑:当然,你去了
File cachedir = getCacheDir();
for (File f : cachedir.listFiles()) {
if(!f.getName().equals("newFiles")){
f.delete();
}
}