iOS AVCaptureVideoDataOutput 占用太多内存

标签 ios memory avfoundation avcapturesession

我正在使用 AVFoundation 框架用 iPhone 摄像头捕捉视频,我的代码:

 self.session = [[AVCaptureSession alloc] init];
 ...
 self.output = [[AVCaptureVideoDataOutput alloc] init];
 [self.session addOutput:self.output];

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

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

iOS 版本:7.1.1

最佳答案

AVCaptureSession *mSession; ;

使用 session 预设高度代替 session 预设照片

mSession.sessionPreset = AVCaptureSessionPresetHigh; //yes

mSession.sessionPreset = AVCaptureSessionPresetPhoto; //no

关于iOS AVCaptureVideoDataOutput 占用太多内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23508322/

相关文章:

ios - AVCapturePhotoOutput isFlashScene键值观察

ios - 如何快速将 timeIntervalSinceNow 转换为可读日期

ios - 在 Google map 中创建标记

javascript - JavaScript 闭包内存效率高吗?

c++ - 从自身获取进程的私有(private)内存页(如VMMap)

ios - AVAssetWriterInput,无法选择视频分辨率吗?

ios - 通过电子邮件注册用户接受重复的电子邮件(firebase-swift)

ios - 我可以使用Xcode 9和macOS Mojave将应用程序上传到iOS AppStore吗?

ios - 在 ARC 上创建 IBOutlets 作为 ivars。内存问题?

ios - 开始录制视频时 Swift 文件 URL 为零