【发布时间】:2014-05-10 07:07:21
【问题描述】:
我有一个长时间运行的进程,它创建一个小图像 (~1-2 kb) 并将其加载到内存中。因为它是使用 APK 创建的,所以我必须在将其加载到内存之前将其保存到文件中。那时我不再需要该文件。该过程可能会创建数百万个此类文件。
我正在使用 Visual C++.NET,这是一个基于 Windows 的应用程序。我想知道解决这个问题的最佳方法。
我可以通过调用 DeleteFile (http://msdn.microsoft.com/en-us/library/aa363915(v=vs.85).aspx) 随时删除它们,但我想知道该操作是否有开销,我是否应该使用通配符和命名约定每 10k 或 100k 个文件执行一次。
这值得努力吗?这里有什么取舍?
【问题讨论】:
-
也许这个问题可以帮助你。 Link
-
好吧,在我读完它是 base64 编码并发送到另一个进程后,我再也不需要这个文件了,我只需要一些关于删除数百万个这些文件的最佳方法的建议。
-
可能会将它们全部放入一个目录中,然后在 1 次交互中删除该目录。
-
嗯,DeleteFile 没有通配符版本,所以你所谓的替代方案不存在。
-
也许您可以使用一个新线程来删除该特定目录中的所有文件。