我使用以下代码创建一些临时文件,并将 tem 包装为输入流以发送到客户端。
我了解到当磁盘空间不足时,android 系统可以自动删除临时文件。
但是我希望在退出App的时候能自己删除临时文件,怎么办?谢谢!
代码
File outputDir = context.getCacheDir(); // context being the Activity pointer
File outputFile = File.createTempFile("prefix", "extension", outputDir);
最佳答案
如果 isChangingConfigurations()
为 false
或 isFinishing
为 true<,则删除
。示例:onDestroy
中的文件
@Override protected void onDestroy() {
super.onDestroy();
if(!isChangingConfigurations()) {
deleteTempFiles(getCacheDir());
}
}
private boolean deleteTempFiles(File file) {
if (file.isDirectory()) {
File[] files = file.listFiles();
if (files != null) {
for (File f : files) {
if (f.isDirectory()) {
deleteTempFiles(f);
} else {
f.delete();
}
}
}
}
return file.delete();
}
关于java - 在android中退出应用程序时如何删除由createTempFile创建的所有临时文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42464264/