gpt4 book ai didi

iphone - AVCaptureSession 收到内存警告并无故崩溃

转载 作者:行者123 更新时间:2023-12-03 18:23:07 25 4
gpt4 key购买 nike

我正在开发一个处理高清照片的应用程序。我正在使用 AVCaptureSession 拍照,停止它,然后对该照片应用效果。

让我疯狂的是,一切都运行良好,仪器告诉我,我正确且按时地释放了我使用的所有内存。是的,它确实很高,有时达到 100mb。但下降得很快。

然后我重新启动捕获 session ,并收到内存警告。绝对没有理由这样做;_;如果释放我使用的所有内存...那么下次我重新启动捕获 session 时应用程序就会崩溃。没有消息,没有日志,什么都没有。

我不知道如何解决这个问题,我不知道在哪里寻找...如果有人可以帮助我一点,我会很高兴!

提前致谢!

最佳答案

我也有过同样的挫败感。我在一个项目中使用 ARC,其中我展示了使用 AV Foundation 的相机。呈现并弹出 View Controller 几次后,我的应用程序将收到内存不足警告,然后崩溃。仪器也没有多大帮助。我通过实验发现了解决方案:

即使您在相机类中使用 ARC,您也可以实现 dealloc 方法(只是不要在 dealloc 上调用 super)。

- (void)dealloc {
AVCaptureInput* input = [session.inputs objectAtIndex:0];
[session removeInput:input];
AVCaptureVideoDataOutput* output = [session.outputs objectAtIndex:0];
[session removeOutput:output];
[session stopRunning];
}

这负责停止 AVCaptureSession 并确保它没有仍然存在的输入或输出。

关于iphone - AVCaptureSession 收到内存警告并无故崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9644899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com