2011-11-23 75 views
0

好吧,我已经注意到,即使我使用正确的缓存文件夹路径,Android也不会在文件夹中注册内容,因此用户无法通过进入设置 - >程序 - >管理来删除缓存内容 - >选择程序 - >清除缓存。该文件夹在卸载时被正确删除,但如果用户主动尝试清除缓存,则该文件夹不会被删除。这不是一个主要问题,但它仍然是一个小问题,因为用户没有正确理解应用程序在SD卡上使用多少空间。 开发人员可以做些什么来更新这些值,或者我在其他地方做错了什么?如何使缓存文件夹内容可删除?

+0

你使用'getDownloadCacheDirectory()'? – Macarse

+0

不是。我将文件保存在指定的android/data/packagename/cache文件夹中 – Warpzit

+0

因此,您是使用Context的getCacheDir()或硬编码路径吗? – Macarse

回答

1

从文档:

保存缓存文件

如果你想缓存一些数据,而不是存储它坚持, 你应该使用getCacheDir()打开表示文件 内部目录您的应用程序应该保存临时缓存 文件。

当设备内存空间不足时,Android可能会删除 这些缓存文件以恢复空间。但是,您不应该依赖系统为您清理这些文件。您应该始终自己维护 缓存文件,并将其保留在消耗的空间 的合理限制内,例如1MB。当用户卸载您的应用程序时, 这些文件被删除。

我想你应该处理你自己的删除。如果您想在用户清除应用程序数据时删除内容,请创建sharedPreference并在应用程序启动时清除缓存并且未定义首选项。

+0

那么我使用外部存储,这可能是为什么它不被添加为“缓存”。要重新规划,外部存储器缓存文件夹不会在程序管理器中被视为缓存? – Warpzit

+0

@Warpzit:老实说,我不确定:( – Macarse

+0

我会离开问题打开,直到我得到一个确定的答案:) – Warpzit

相关问题