首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除临时文件是程序员的责任吗

删除临时文件是程序员的责任吗
EN

Stack Overflow用户
提问于 2012-02-23 16:10:28
回答 2查看 3.9K关注 0票数 5

目前,我有一个应用程序,它将保存一个临时截图,并让用户通过facebook分享它。图片保存代码大致如下。

代码语言:javascript
复制
// 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();

我意识到,即使我退出了我的安卓应用程序(通过按下系统的“后退”按钮),即使我们正在使用deleteOnExit,tempFile仍然在那里。我的猜测是JVM还没有终止。

我想知道,在Activity的onDestroy过程中,删除创建的临时文件是我们的应用程序程序员的责任吗?如果不是,常见的最佳实践是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-23 16:14:01

AFAIK是的,删除不再需要的文件(不管是临时的还是非临时的)是你的责任。操作系统无法知道您的应用程序将使用该文件多长时间。

票数 1
EN

Stack Overflow用户

发布于 2012-02-23 16:18:01

这取决于每一个应用程序来保持房子(或者更确切地说是设备)的清洁。:)

这就是说

只要启动并运行,JVM就会一直运行。因此,如果设备处于restarted.

  • There状态,则应删除该文件。即使应用程序已关闭,如果该应用程序仍在离开临时文件,则用户很有可能会被冒犯。

因此,当您使用完临时文件时,请自行关闭它。甚至在应用程序退出之前都不需要!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9409246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档