草庐IT

ios利用RunLoop的原理去监控卡顿

一、卡顿问题的几种原因复杂UI、图文混排的绘制量过大;在主线程上做网络同步请求;在主线程做大量的IO操作;运算量过大,CPU持续高占用;死锁和主子线程抢锁。二、监测卡顿的思路监测FPS:FPS是一秒显示的帧数,也就是一秒内画面变化数量。如果按照动画片来说,动画片的FPS就是24,是达不到60满帧的。也就是说,对于动画片来说,24帧时虽然没有60帧时流畅,但也已经是连贯的了,所以并不能说24帧时就算是卡住了。由此可见,简单地通过监视FPS是很难确定是否会出现卡顿问题了,所以我就果断弃了通过监视FPS来监控卡顿的方案。RunLoop:通过监控RunLoop的状态来判断是否会出现卡顿。RunLoop

ios利用RunLoop的原理去监控卡顿

一、卡顿问题的几种原因复杂UI、图文混排的绘制量过大;在主线程上做网络同步请求;在主线程做大量的IO操作;运算量过大,CPU持续高占用;死锁和主子线程抢锁。二、监测卡顿的思路监测FPS:FPS是一秒显示的帧数,也就是一秒内画面变化数量。如果按照动画片来说,动画片的FPS就是24,是达不到60满帧的。也就是说,对于动画片来说,24帧时虽然没有60帧时流畅,但也已经是连贯的了,所以并不能说24帧时就算是卡住了。由此可见,简单地通过监视FPS是很难确定是否会出现卡顿问题了,所以我就果断弃了通过监视FPS来监控卡顿的方案。RunLoop:通过监控RunLoop的状态来判断是否会出现卡顿。RunLoop