一旦系统内存不足,Android可能会自动删除CacheDir中的文件。但是文档说,我们不应该依赖系统清除此缓存,因此编写用于轮询和删除的其他代码。
如果是这样,为什么应该选择getCacheDir()
而不是getFilesDir()
?两者都在内存中,后者在清理内容和时间方面为开发人员提供了更多功能。
谢谢!
最佳答案
正确的。第三方应用程序也可以从应用程序的缓存目录中删除文件。并且,如zapl所述,用户可以从“设置”中手动清除应用程序的缓存。
也正确。
因为操作系统,第三方应用程序和用户可以清除缓存。但是,仅因为这些东西可以清除缓存并不意味着它们会自动清除缓存,因此您需要自己不时整理一下缓存。同样,虽然您的母亲可以打扫房间,但是如果您不想自己打扫帚,那么如果您自己打扫房间,通常是个好主意。
不,不是的。 getCacheDir()
返回一个File
对象。 getFilesDir()
返回一个File
对象。它们在“清除内容和清除时间方面赋予开发人员力量”方面是等效的。