2014-07-22 26 views
0

我一直在工作的照片编辑应用程序,拍照并将其传递到 下一个视图控制器。 当然我使用AVSession来显示相机预览。 拍摄照片时,当前视图控制器将图像传递到具有所有编辑功能的视图控制器。 我使用模态段来控制视图之间的转换。 问题是,当segue发生时,内存增加了4mb,永远不会释放。当使用模态时,清除以前ViewController的内存?

Viewcontoller - > EditorViewcontoller

EdiorViewcontroller - >视图 - 控制

我也有从编辑到相机SEGUE,再有记忆的积累。 来回几次,应用程序崩溃。

由于缺乏声望,我无法发布图片。

如何清理前一个Viewcontroller的内存,并让当前的视图控制器运行。

事情我已经试过

*所有实例设置为零。 *解散视图控制器。 *设置整个视图控制器为零。 *分析它。 *使用@autorealease。 *在互联网上花费了数小时寻找解决方案。

我用这行代码来执行segue。

[self performSegueWithIdentifier:@"effectsegue" sender:self]; 

我甚至尝试过使用弱自我希望它可以帮助。

 __weak ViewController *weakself=self; 

    [weakself performSegueWithIdentifier:@"effectsegue" sender:self]; 

当我描述文件时,它告诉我的代码

NSData *jpegData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageDataSampleBuffer]; 

[self performSegueWithIdentifier:@"effectsegue" sender:self]; 

正在存储这些行。

我想了解一些建议和想法,以清除以前的视图控制器和空闲内存的记忆,除了赛格以外的任何其他交替。

我一直在为此工作数周,这实在不能让我继续前进。 在此先感谢。

回答

0

如果你使用故事板和ARC可以创建内部EditorViewcontroller一个按钮(你会使用回到视图 - 控制),并将其链接到以下处理您EditorViewcontroller.m文件:

- (IBAction)goBack:(UIButton *)sender 
{ 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

这应该释放EditorViewcontroller使用的内存