我们的应用程序使用AVCaptureSession进行二维码/条形码扫描。在iOS 8中有一个简单的关闭按钮,该按钮已变得无响应。
输出缓冲区似乎重载了主UI线程。
看起来当前的输出在主线程上:
[captureOutput setSampleBufferDelegate:self queue:dispatch_get_main_queue()];我应该在一个单独的线程上运行这一切吗?当前在后台线程上运行的尝试失败。
发布于 2020-06-19 20:35:57
我也遇到过类似的困难。我发现UI线程因我在样本缓冲区委托的captureOutput(AVCaptureOutput,CMSampleBuffer,AVCaptureConnection)方法中所做的工作而负担过重。我把这项工作从主线移走了,瞧!都很好。
用DispatchQueue.global()代替DispatchQueue.main可以解决这个问题。
https://stackoverflow.com/questions/26045216
复制相似问题