![a81cd1a2746cafa905a6022d90c418a4.png](https://i-blog.csdnimg.cn/blog_migrate/7a08e43cd57fdd2d7b35dec875c46565.jpeg)
这片文章继续为大家讲解下卡顿监控及处理。
- 卡顿产生原理
- 如何收集卡顿
* 利用bugly、听云等第三方收集
* 自己收集卡顿
* 监控主线程RunLoop
* 子线程ping
卡顿产生原理
FPS (Frames Per Second) 表示每秒渲染帧数,通常用于衡量画面的流畅度,每秒帧数越多,则表示画面越流畅。通常60是临界值,如果主线层FPS低于60fps,应用程序就可能产生卡顿。大家可以看这篇文章详细了解卡顿产生原理。
如何收集卡顿
利用bugly、听云等第三方收集
国内有很多第三方网站可以用来收集卡顿,常用的有bugly、听云等。笔者推荐大家用腾讯的bugly来收集卡顿。
自己收集卡顿
如果我们要自己手动监控卡顿,其实有好几种方案,如下:
[欢迎你的加入](正在跳转),不管你是大牛还是小白都欢迎入驻
监控主线程RunLoop
我们知道iOS App基于RunLoop运行,我们先来看看RunLoop简化后的代码。
// 1.进入loop
__CFRunLoopRun(runloop, currentMode, seconds, returnAfterSourceHandled)
// 2.RunLoop 即将触发 Timer