2012-09-04 103 views
1

我正在嘗試將多張照片(位於應用程序的沙箱中)導入到相機膠捲(已保存的照片相冊)中。將多張照片導入到已保存的照片相冊中

我在後臺執行一個選擇器,在其中我從文件路徑中讀取數據,然後使用UIImageWriteToSavedPhotosAlbum完成操作。我現在使用樂器測試大型圖像,但看不到任何明顯的內存增加(大約8MB的最大活動字節數),但如果我嘗試導入大約20張圖像,應用程序仍然崩潰。它給了我一個記憶警告,但我無法找出什麼是錯的。

我也在使用@autoreleasepool圍繞從磁盤讀取文件的代碼(並將其解密)。

在我的代碼的另一部分中,我使用幾乎相同的過程(加密數據)從ALAssetsLibrary導入圖像,並且在超過200張圖像中完美地工作。沒有記憶警告,沒有崩潰。

有關如何將圖像批量寫入保存的照片庫的任何想法?

PS: 我基本上這在我的導入方法:

UIImageWriteToSavedPhotosAlbum(decryptedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil); 

,然後在didFinishSaving回調,我再次調用導入方法肚裏雖然文件路徑的數組進口。

它在小文件上工作得很好,但較大的文件會產生崩潰。

謝謝!

編輯: 只是試圖加載一個大的圖像與[UIImage imageNamed:]和應用程序仍然崩潰。所以我想這是UIImageWriteToSavedPhotosAlbum方法的問題?我應該如何導入更大的圖像?

回答

0

我結束了使用ALAssetsLibrary的方法writeImageDataToSavedPhotosAlbum:metadata:completionBlock:它完美地工作!沒有內存警告和/或崩潰。

相關問題