我正在开发一个应用程序,它生成一组位图,然后将它们加载到一个表单中供用户选择。
位图是从用户可以添加到的小型矢量库中生成的。代码现在创建文件,然后在使用后立即删除它们,只需要在用户下次打开 UI 时再次生成它们(使 UI 需要几秒钟才能加载)。
所以我想知道的是,是否可以将我的位图“永远”留在用户临时文件夹中,如果它们不在文件夹中则重新生成它们?由于可能的权限问题,我不能指望能够将图像存储在应用程序目录中,就像我说的那样,我无法预填充文件,因为用户可以添加更多文件。
我正在开发一个应用程序,它生成一组位图,然后将它们加载到一个表单中供用户选择。
位图是从用户可以添加到的小型矢量库中生成的。代码现在创建文件,然后在使用后立即删除它们,只需要在用户下次打开 UI 时再次生成它们(使 UI 需要几秒钟才能加载)。
所以我想知道的是,是否可以将我的位图“永远”留在用户临时文件夹中,如果它们不在文件夹中则重新生成它们?由于可能的权限问题,我不能指望能够将图像存储在应用程序目录中,就像我说的那样,我无法预填充文件,因为用户可以添加更多文件。
理想情况下,您应该将任何临时数据生成到 RAM 而不是文件系统中。
如果您可以确保您的应用程序为每个用户仅存储有限数量的此类文件,则依赖临时文件是可以接受的。无论您的代码做什么,任何临时文件都可能在意外崩溃/断电时留下。因此,您需要实现一种机制,该机制将删除同一应用程序在前一个会话中创建的任何陈旧文件 - 大概在其下一次启动期间。
假设有这样的安全机制,在应用程序退出时故意留下临时文件听起来像是一个非标准但合理的“缓存”。
警告:您的应用程序的下一个版本可能需要稍微不同的文件格式,并且应该根据一些简单的版本控制方案检测、删除和重新生成格式不匹配的任何文件,以避免交叉构建依赖。