在iPhone上写入大文件的最快方法?

Fastest way to write a large file on the iPhone?

我正在使用的此应用程序允许用户拍照,并将其保存在本地(通过Core Data提供的小缩略图图像,以及在文档目录中的完整尺寸的图像)。我发现将图像文件写入文档目录需要花费很长时间-在我的iPhone 3GS上是8秒,在我的iPhone 3G和第一代iPod touch上甚至更长。我这样写文件:

[imgData writeToFile:imagePathatomic:YES];

...是否有更快的方法? iPhone的相机应用程序似乎可以非常快速地将图像写入文件系统。我可以在线程中进行编写,但是我担心用户可能在线程完成之前退出我的应用程序。


  • 之前有人问过一个密切相关的问题,普遍认为
    iPhone的相机应用程序使用未记录的内部API调用。我个人不确定这是否成立,我认为iPhone应用程序很可能会在后台保留直到保存图像为止,这是非越狱设备上第三方应用程序尚未使用的"商品"。
  • 也许您应该确实尝试使用线程来保存图像,但是以一种面向数据的方式,以字节块的形式进行保存。这样,如果用户在应用程序的委托的- (void) applicationWillTerminate(UIApplication *)application方法中按下主页按钮,则可以完成将数据保存到磁盘的过程。不过,这只会多给您5秒钟,但总比没有好。在保存文本文件方面也提出了类似的建议。希望这会有所帮助,祝您好运!