将多张照片导入已保存的照片相册

时间:2012-09-04 22:26:01

标签: ios insert uiimagepickercontroller nsdata bulk

我正在尝试将多张照片(位于应用程序的沙盒中)导入相机胶卷(已保存的相册)。

我正在后台执行一个选择器,我从文件路径中读取数据,然后使用UIImageWriteToSavedPhotosAlbum完成操作。我现在用仪器测试大图像,我看不到任何显着的内存增加(最大生存字节大约8MB)但是如果我尝试导入~20张图像,应用程序仍然会崩溃。它给了我一个记忆警告,但我找不到什么是错的。

我还在代码中使用@autoreleasepool从磁盘读取文件(并解密)。

在我的代码的另一部分中,我使用几乎相同的程序(加密数据)从ALAssetsLibrary导入图像,并且使用200多个图像完美地工作。没有记忆警告,没有崩溃。

有关如何将图像批量写入已保存照片库的任何想法?

PS: 我在导入方法中基本上有这个:

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

然后在didFinishSaving回调中,我再次调用import方法,该方法通过一个要导入的文件路径数组。

它在较小的文件上运行得很好,但是较大的文件会导致崩溃。

谢谢!

编辑: 刚尝试使用[UIImage imageNamed:]加载大图片,应用仍然崩溃。所以我猜这是UIImageWriteToSavedPhotosAlbum方法的问题?我该如何导入更大的图像?

1 个答案:

答案 0 :(得分:0)

我最终使用ALAssetsLibrary的方法writeImageDataToSavedPhotosAlbum:metadata:completionBlock:,它完美无瑕!没有内存警告和/或崩溃。