[objective-c]UIImage 控制器之间传递导致内存警告

标签: ios Objective-C
发布时间: 2016/10/4 2:13:11
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我工作在一个应用程序,从照片库使用 UIPickerController 以图像,然后将其加载到 UIImageView 中的第一个控制器。然后我将传递 UIImage通过属性到Navigation Controller在编辑为了第二个控制器的形象在这里。当我流行这 EditController 攻上回来,然后夺回在过程通过的一个更多的时间到 EditController,内存 encreases 图像每次和 5 周期我收到内存警告后。有没有解决这个问题吗?

 //Getting the image from the PickerController 
    _imageToEdit = info[UIImagePickerControllerOriginalImage];
    _imageToEdit=[self fixOrientation:_imageToEdit];
    [_imageView setImage:_imageToEdit];

//Passing image to EditController
    if ([segue.identifier isEqualToString:@"editImage"]) {    
    EditImageViewController *destViewController=segue.destinationViewController;
    destViewController.newlyImage=_imageToEdit;
    destViewController.optVC=self;
    destViewController.numberReceived=_firstTimeInEdit;
}

解决方法 1:

我做了一种新方法在哪里我释放所有的对象我不需要。我不会再收到内存警告。

- (void) backAction {
[_editBaseController removeAllButtons];
_editBaseController = nil;
_undoImage = nil;
copyImage = nil;
_modifiedImage = nil;
_newlyImage = nil;
aCIImage = nil;
context = nil;
free(imageRawData);
free(filterChannelRowData);
_scrollingViewOne = nil;
_scrollingViewTwo = nil;
[self.navigationController popViewControllerAnimated:YES];}
官方微信
官方QQ群
31647020