使用内部存储 - Android - 删除缓存文件

时间:2011-11-22 20:26:35

标签: android caching storage internal

我正在下载图像,然后将它们保存到内部存储器中。这导致应用程序的缓存快速增长。

正如这里建议的那样:

http://developer.android.com/guide/topics/data/data-storage.html

当设备内部存储空间不足时,Android可能会删除这些缓存文件以恢复空间。但是,您不应该依赖系统来清理这些文件。您应始终自行维护缓存文件并保持合理的空间限制,例如1MB

我的问题是如果缓存太大会发生什么,例如现在大约20mb并且仍然在增长。

我认为我应该遵循指南,并在每次我的应用程序启动时删除它们,如果互联网连接可用。

 String[] allFiles =  fileList();

 Log.e(TAG, "allFiles.length: " + allFiles.length);


 for(int k=0; k<allFiles.length; k++)
 {
 Log.e(TAG, "allFiles [ " +k+"]: "+allFiles[k]);

 }

但是,此代码始终返回零文件。如果我尝试访问特定图像,我可以轻松地从内部存储器中检索它。为什么这段代码不能返回包含所有图像的数组?

内部记忆的正确方法是什么..

提前致谢,

安德烈亚斯

1 个答案:

答案 0 :(得分:0)

昨天有人问过类似的问题。 Here's my answer那个。但它的一些相关要点是,您可以限制整个缓存大小和/或限制将文件保留在缓存中的时间,这应该可以解决您的问题。