由于内存压力终止的应用程序

我有一个应用程序在突发模式下拍摄图像,但是一旦图像被拍摄,即将来临的预览崩溃,错误显示“由于内存压力终止的应用程序”

当用户拿着相机button时,我需要更多的图像…离开button后,我需要显示所有的图像作为幻灯片..我必须做什么?

我的代码是:

- (void)longPress:(UILongPressGestureRecognizer*)gesture { if (gesture.state == UIGestureRecognizerStateBegan) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(takePictures) name:AVCaptureSessionDidStartRunningNotification object:nil]; } else if (gesture.state == UIGestureRecognizerStateEnded) { } -(void)takePictures { [imagePicker takePicture]; } 

帮我..

由于图像的高分辨率,将图像存储在RAM中是昂贵的。 还有,你的观察者所造成的图片被多次调用 – 太多了。 当您使用imagePicker拍摄多张照片时,所有这些图像都会快速消耗内存,而由于iOS没有交换function,所以您的内存不足。 然后,Jetsam / memorystatus开始使用,杀死你的应用程序,因为消耗了太多的内存。

方法如下:

A)在连拍模式下拍摄较less的照片。 使用一些全局variables,比如说j,在takePictures中增加它,但是只把j%2 == 0或j%3 == 0上的实际图片(你需要玩这个值)

B)尝试将至less一些照片保存到存储器,然后从RAM中释放它们(删除对它们的引用)。