我正在下载图像,然后将它们保存到内部存储器中。这导致应用程序的缓存快速增长。
正如这里建议的那样:
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]);
}
但是,此代码始终返回零文件。如果我尝试访问特定图像,我可以轻松地从内部存储器中检索它。为什么这段代码不能返回包含所有图像的数组?
内部记忆的正确方法是什么..
提前致谢,
安德烈亚斯
答案 0 :(得分:0)
昨天有人问过类似的问题。 Here's my answer那个。但它的一些相关要点是,您可以限制整个缓存大小和/或限制将文件保留在缓存中的时间,这应该可以解决您的问题。