【问题标题】: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];


    }


    }

【问题讨论】:

  • 你能发布你在崩溃时遇到的错误吗?
  • 在控制台中没有收到崩溃错误,它只是显示收到的内存警告。并且应用程序正在崩溃

标签: ios objective-c ios7 ios8.1


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    相关资源
    最近更新 更多