【iOS紫色警告】GPUImage启动摄像头耗时

21 篇文章 0 订阅
13 篇文章 0 订阅

当我们pod下GPUImage 后 如果调用摄像头的代码,到启动摄像头会延迟很久,系统虽然不会报错,但是影响用户体验!!!
总结下来!
在这里插入图片描述
一共两个问题!!输出如下!!!
Main Thread Checker: UI API called on a background thread: -[UIView layer] PID: 901, TID: 68934, Thread name: (none), Queue name:

Main Thread Checker: UI API called on a background thread: -[UIView bounds] PID: 901, TID: 68934, Thread name: (none), Queue name:
总结一波!!
就是[UIView layer]和[UIView bounds] 不在主线程渲染!!

解决方法

点击紫色警告的地方,系统自动跳到GPUImageView这个类
在这里插入图片描述
找到警告的位置分别是!
[[[GPUImageContext sharedImageProcessingContext] context] renderbufferStorage:GL_RENDERBUFFER fromDrawable:(CAEAGLLayer*)self.layer];

CGSize currentViewSize = self.bounds.size;

添加一个@synthesize在这里插入图片描述
在GPUImageView.h的地方的地方添加一个@property
在这里插入图片描述
给自己的currentlayer附值
在这里插入图片描述
在运行程序就会发现紫色警告少了一个!!bounds的还在,那么接下来解决bounds的问题!!
同理GPUImageView.h声明一个currentFrame的变量
在这里插入图片描述

GPUImageView.m
在这里插入图片描述

主线程的地方给他附上初始值
在这里插入图片描述
警告的地方使用上

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

再次编译运行,紫色警告都消失了并且启动速度比之前大幅度提高

注意⚠️!!!我们修改的是pod里面的GPUImage文件,如果下次在pod install 的时候 他又会还原成最新的GPUImage,那么解决办法有一个就是我们把GPUImage下载到本地!!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值