5

背景

在 android 上,您可以这样创建临时文件(此处此处的链接以获取文档):

final File temp = File.createTempFile("myFile", ".tmp", context.getCacheDir());

我正在开发一个使用临时文件的应用程序,当它完成它们(以及在应用程序启动时)时,它会删除它们。

问题

文档说:

当设备内部存储空间不足时,Android 可能会删除这些缓存文件以恢复空间。

这是否意味着即使我的应用程序仍在运行,文件也会被删除?在哪些情况下允许android删除文件?

换句话说,我可以假设只要我有应用程序运行,即使其他应用程序创建自己的临时文件,android也不会自行删除文件?

4

1 回答 1

1

你可以测试一下。创建新应用程序,应用程序将数据写入文件并且内部存储空间已满。当内部存储完整的Android删除应用程序缓存目录时,应用程序存储在1Mb以上。如果应用程序缓存目录被丢弃,即使应用程序正在运行,Android 也会删除。否则,当运行 Android 的应用程序永远不会删除缓存文件时。

这是 developer.android.com http://developer.android.com/reference/android/content/Context.html#getCacheDir()分享的原始链接

注意:您不应依赖系统为您删除这些文件;您应该始终为缓存文件占用的空间量设置一个合理的最大值,例如 1 MB,并在超过该空间时修剪这些文件。

真相

为什么同样的人投票给我,我不明白,我说的是关于内部缓存警告的真实信息。

于 2013-09-27T10:30:55.287 回答