首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将多张照片导入保存的相册

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

Stack Overflow用户
提问于 2012-09-05 06:26:01
回答 1查看 600关注 0票数 1

我正在尝试将多张照片(在应用程序的沙箱中)导入到Camera Roll (保存的相册)中。

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

我还在代码周围使用了@autoreleasepool,它从磁盘读取文件(并对其进行解密)。

在我的代码的另一部分中,我使用几乎相同的过程(加密数据)从ALAssetsLibrary导入图像,并且可以很好地处理200多张图像。没有内存警告,没有崩溃。

对如何批量写入图片到保存的照片库有什么想法吗?

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

代码语言:javascript
运行
复制
UIImageWriteToSavedPhotosAlbum(decryptedImage, self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

然后在didFinishSaving回调中,我再次调用导入方法,该方法遍历要导入的文件路径数组。

它在较小的文件上工作得很好,但较大的文件会产生崩溃。

谢谢!

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-05 16:16:42

我最终使用了ALAssetsLibrary的方法writeImageDataToSavedPhotosAlbum:metadata:completionBlock:,它工作得无懈可击!没有内存警告和/或崩溃。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12272184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档