iOS AVCaptureVideoDataOutput 消耗太多内存

Liu*_*hao 6 memory avfoundation ios avcapturesession

我正在使用AVFoundation框架用iPhone相机捕获视频,我的代码:

 self.session = [[AVCaptureSession alloc] init];
 ...
 self.output = [[AVCaptureVideoDataOutput alloc] init];
 [self.session addOutput:self.output];
Run Code Online (Sandbox Code Playgroud)

之前[session addOutput]一切顺利,内存限制为3M,但是之后[session addOutput],内存使用量每秒增加0.06M,几分钟后,应用程序会因为内存警告而崩溃。AVCaptureVideoDataOutput似乎消耗了太多内存,并且可能存在内存泄漏问题。

那么我怎样才能减少内存使用呢?

iOS版本:7.1.1

mor*_*oko 1

AVCaptureSession *mSession; ;
Run Code Online (Sandbox Code Playgroud)

使用会话预设高度而不是会话预设照片

mSession.sessionPreset = AVCaptureSessionPresetHigh; //yes

mSession.sessionPreset = AVCaptureSessionPresetPhoto; //no
Run Code Online (Sandbox Code Playgroud)