将文件保留在用户临时文件夹中是否可以接受?

时间:2012-05-23 21:47:36

标签: user-interface filesystems temp

我正在开发一个生成一组位图的应用程序,然后将它们加载到一个表单供用户选择。

位图是从用户可以添加的小矢量库生成的。代码现在创建文件,然后在使用后立即删除它们,只需要在下次用户打开UI时再次生成它们(使UI需要几秒钟才能加载)。

所以我想知道的是,将我的位图“永远”保留在用户临时文件夹中是否可以,如果它们不在文件夹中则重新生成它们?由于可能的权限问题,我不能指望能够将图像存储在应用程序目录中,就像我说的那样,我无法预先填充文件,因为用户可以添加更多文件。

1 个答案:

答案 0 :(得分:0)

理想情况下,您应该将任何临时数据生成到RAM而不是文件系统。

如果您可以确保您的应用程序每个用户只存储有限数量的此类文件,则可以依赖临时文件。无论您的代码是什么,任何临时文件都可能因意外崩溃/断电而遗留。因此,您需要实现一种机制,该机制将删除在先前会话中由同一应用程序创建的任何陈旧文件 - 可能是在下次启动时。

假设有这样一种安全机制,当应用程序退出时故意留下临时文件听起来像非标准但合理的“缓存”。

警告:您的应用程序的下一个版本可能需要稍微不同的文件格式,并且应该基于一些简单的版本控制方案检测,删除和重新生成不匹配格式的任何文件,以避免交叉构建依赖。