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

时间:2009-10-31 17:41:27

标签: iphone file performance writing

我正在开发的这个应用程序允许用户拍照,并在本地保存它们(通过Core Data的小缩略图图像,以及文档目录中的全尺寸图像)。我发现将图像文件写入文档目录需要很长时间,但是我的iPhone 3GS需要8秒,而iPhone 3G和第一代iPod touch则需要更长时间。我这样写文件:

[imgData writeToFile:imagePath atomically:YES];

...有更快的方法吗? iPhone的相机应用程序似乎很快就将图像写入文件系统。我可以在一个帖子中写作,但是我担心用户可能在线程完成之前退出我的应用程序。

1 个答案:

答案 0 :(得分:2)

  • 一个密切相关的问题被提出before,一般意见是 iPhone的相机应用程序使用未记录的内部API调用。我个人不确定这是否属实,我认为iPhone应用程序更有可能在图像保存之前保留在后台,这是非越狱设备上第三方应用程序尚未提供的“商品”。
  • 也许您应该尝试使用线程来保存图像,但是采用更加面向数据的方式,以字节块为单位。这样,如果用户按下主页按钮,则在应用程序委托的- (void) applicationWillTerminate(UIApplication *)application方法中,您可以完成将数据保存到磁盘的过程。这只会给你买an extra 5 seconds,但它总比没有好。已经给出了类似的建议on saving a text file。希望这有帮助,祝你好运!