从相机点击多张图像时收到内存警告
Posted
技术标签:
【中文标题】从相机点击多张图像时收到内存警告【英文标题】:received memory warning on multiple image click from camera 【发布时间】:2015-07-06 11:27:59 【问题描述】:我正在使用自定义相机点击多张图片。现在点击几张图片后收到内存警告,我的应用程序崩溃了。谁能帮我解决这个问题。我的代码如下所示
CImage = (UIImage *)[info objectForKey:UIImagePickerControllerOriginalImage];
[arrimages addObject: CImage];
if (aPicker.sourceType == UIImagePickerControllerSourceTypeCamera)
custvw.cameraButton.enabled = YES;
else
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
[self.popoverController dismissPopoverAnimated:true];
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
[self dismissViewControllerAnimated:YES completion:nil];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage])
if (picker.sourceType==UIImagePickerControllerSourceTypePhotoLibrary)
[self.picker dismissViewControllerAnimated:YES completion:nil];
else
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
else
[self.picker dismissViewControllerAnimated:YES completion:nil];
【问题讨论】:
你能发布你在崩溃时遇到的错误吗? 在控制台中没有收到崩溃错误,它只是显示收到的内存警告。并且应用程序正在崩溃 【参考方案1】:通过将所选图像添加到数组来将它们保存在内存中并不是一个好主意。这些图像通常非常占用内存,很容易填满内存。
[arrimages addObject: CImage];
可能的解决方案:
缩放图像从 UIImagePickerControllerDelegate 检索图像后缩放图像 - imagePickerController:didFinishPickingMediaWithInfo:也有助于减少内存占用。
How to adjust a image size after using UIImagePickerController take a photo?
将图像保存到磁盘不要将图像保存在内存中,而是将它们保存到磁盘并在需要时从磁盘中获取它们。
iPhone - UIImagePickerController -> save the image to app folder
【讨论】:
以上是关于从相机点击多张图像时收到内存警告的主要内容,如果未能解决你的问题,请参考以下文章