ios – 使用OpenGL的神秘app崩溃

我正在使用GPUI Image库来开发iOS相机应用程序.有时,当应用程序在2-3分钟后暂停时,Xcode会在应用程序上发生崩溃,指向方法中的行:
- (void)presentBufferForDisplay;
{
    [self.context presentRenderbuffer:GL_RENDERBUFFER];
}

可能是这次崩溃的原因是什么?我有一个非常长的摄像头设置,代码本身在GPUImageContext类中.我在这里做错了什么?

解决方法

当您的应用程序在后台运行(暂停)时,您根本无法访问OpenGL ES. GPUImage使用OpenGL ES来完成它所做的一切.您必须确保应用程序使用GPUImage完成的所有工作(过滤视频,处理图像)在应用程序完成向后台过渡之前完成.

您需要侦听UIApplicationWillResignActiveNotification或填写相关的委托回调以转换到后台,并在那里暂停任何相机捕获(通过相机输入上的-pauseCameraCapture方法)或等待任何处理完成(我相信一个同步调度到GPUImage串行调度队列将负责这一点).

有关这方面的相关讨论可以在GitHub问题页面上找到:https://github.com/BradLarson/GPUImage/issues/197和几个相关问题.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...