我有一个必须将一堆文件从磁盘复制到磁盘的应用程序。这些文件是高清原始图像,所以它们很大。我没有怀疑 NSFileManager copyItemAtPath: 方法实际上会将内容加载到内存中以将其复制到目标路径。
我不得不将这个复制任务排在一个最多有 4 个并发操作的队列中,以避免破坏我的传输内存配额并避免崩溃,但结果是,我可能不得不等待 1 分钟才能完成所有文件的复制......
他们是一种更有效的方式来将文件从路径克隆到另一个路径而无需将内容加载到内存中吗?
以下是使用仪器进行分析时发生的情况的快照:
蓝色:总生活分配
粉红色:NSFileManager copyItemAtPath:对内存的影响。
http://s9.postimg.org/io3654ty7/Screen_Shot_2013_06_18_at_12_43_03_PM.png