目前,我有一个应用程序,它将保存临时屏幕截图,并让用户通过Facebook共享它。图像保存代码或多或少如下。
// Use external cache dir, as our image file is large (>1M)
File outputDir = this.getExternalCacheDir();
File tempFile = File.createTempFile("CHEOK", "CHEOK", outputDir);
// In Desktop's J2SE, this file will automatically be deleted, once my desktop
// application quit. However, this is not the case for Android. My guess is, JVM
// is not terminated, even our Android application had quit.
tempFile.deleteOnExit();
我意识到即使我退出Android应用程序(按系统“后退”按钮),即使我们使用deleteOnExit
,tempFile仍然存在。我的猜测是JVM还没有终止。
我可以知道,在活动onDestroy
期间删除创建的临时文件是我们的应用程序员吗?如果没有,最常见的最佳做法是什么?
答案 0 :(得分:1)
它可以保证每个应用程序保持房屋(或者更确切地说是设备)的清洁。 :)
那就是说
完成后,请自行关闭临时文件。甚至不需要在应用程序退出之前!
答案 1 :(得分:0)
AFAIK是的,你有责任删除不再需要的文件(无论是暂时的还是暂时的)。操作系统无法知道您的应用将使用该文件的时长。