Camera App iOS内存使用情况

时间:2014-03-14 12:15:24

标签: ios memory camera uiimagepickercontroller alassetslibrary

我在iOS上制作相机应用程序。一切都很好,除了内存使用情况。这是“takeImageTask”的流程:

AVCaptureStillImageOutput - > NSData - > UIImage(我裁剪并进行其他更改) - >保存到ALAssetsLibrary

我需要将UIImage保留在数组中,因为我需要将它们放在UICollectionView中,并且我可以在“大尺寸”视图中显示图像。

此流程使用大量内存,因此我认为可能是更好的解决方案是使用AssetURLAVCaptureStillImageOutput writeImageToSavedPhotosAlbum获取来从手机存储中获取图像。我的应用程序也可以使用UIImagePickerController从相册中获取图像,我注意到这只是使用了一小部分内存而不是“takeImageTask”。我首先将该应用程序设为Android版本,在那里我只存储了所有URL,并使用它们来呈现图像。有没有人有使用asseturls在iOS中呈现图像的经验?

1 个答案:

答案 0 :(得分:1)

  

我需要将UIImage保存在一个数组中,因为我需要将它们放在UICollectionView中,并且我有可能以大尺寸显示图像#34;图。

这是有缺陷的逻辑。您可能希望在内存中为集合视图保留最小尺寸的缩略图图像,但是在计数太大之前,您甚至应该从内存中删除它们。并且应该根据需要从磁盘加载大图像,因为它相对较少且相对昂贵(使用资产URL是一个很好的计划)。