【发布时间】:2014-08-26 21:15:01
【问题描述】:
Here 表示保存在getExternalCacheDir() 上的文件将在卸载时被删除。
我已将下载的文件放在那里。 3 台设备一切正常。 但对于一台搭载 Android 4.0 的三星 Galaxy S2,这些文件不会被删除。 这可能是什么原因?
【问题讨论】:
Here 表示保存在getExternalCacheDir() 上的文件将在卸载时被删除。
我已将下载的文件放在那里。 3 台设备一切正常。 但对于一台搭载 Android 4.0 的三星 Galaxy S2,这些文件不会被删除。 这可能是什么原因?
【问题讨论】:
查看getExternalCacheDir() 文档:
平台并不总是监控外部存储中的可用空间,因此可能不会自动删除这些文件。目前,平台删除此处文件的唯一时间是在
JELLY_BEAN_MR1或更高版本上运行并且Environment.isExternalStorageEmulated()返回true。请注意,无论如何您都应该管理将用于这些的最大空间,就像getCacheDir()一样。
看起来设备必须是 Android 4.2 及更高版本才能进行外部存储缓存。您可以让您的应用程序自行清理。请参阅here 以检测您的应用何时将被卸载。
【讨论】: