2009-10-31 102 views
0

我正在處理的這個應用程序允許用戶拍照並將其保存在本地(通過核心數據的小縮略圖圖像和文檔目錄中的全尺寸圖像)。我發現將圖像文件寫入文檔目錄需要很長時間 - 我的iPhone 3GS需要8秒鐘,而我的iPhone 3G和第一代iPod touch可能需要更長的時間。我這樣寫文件:在iPhone上寫大文件的最快方法是什麼?

[imgData writeToFile:imagePath atomically:YES];

...有沒有更快的方法來做到這一點? iPhone的相機應用程序似乎非常快速地將圖像寫入文件系統。我可以在線程中完成寫作,但是我擔心用戶可能會在線程結束之前退出我的應用程序。

回答

2
  • 密切相關的問題已經被問before,和一般的看法是, iPhone的攝像頭應用程序使用未公開的內部API調用。我個人並不確定這是否屬實,我認爲iPhone應用程序可能會保留在後臺,直到圖像被保存爲止,這是一種尚未在非越獄設備上提供給第三方應用程序的「商品」。
  • 也許您應該嘗試使用線程來保存圖像,但採用更多數據導向的方式,以字節塊。這樣,如果用戶按下主頁按鈕,則從應用程序委託的- (void) applicationWillTerminate(UIApplication *)application方法中,可以完成數據保存到磁盤的過程。儘管如此,這隻會爲你購買an extra 5 seconds,但它總比沒有好。已經給出了類似的建議on saving a text file。希望這會有所幫助,祝你好運!
+0

writeToFile:atomically選項比一次寫出小塊更好,因爲你知道你要麼有整個文件,要麼後臺線程是個好主意。 – 2009-10-31 19:46:52

+0

請考慮利用applicationWillTerminate中額外的5秒。 – zaph 2009-10-31 20:03:53

相關問題