锻炼吃饭的家伙

10、如何利用RunLoop原理去监控卡顿?

2020-02-10  本文已影响0人  玉思盈蝶

导致卡顿问题的几种原因:

复杂 UI 、图文混排的绘制量过大;
在主线程上做网络同步请求;
在主线程做大量的 IO 操作;
运算量过大,CPU 持续高占用;
死锁和主子线程抢锁。

RunLoop原理:

对于 iOS 开发来说,监控卡顿就是要去找到主线程上都做了哪些事儿。我们都知道,线程的消息事件是依赖于 NSRunLoop 的,所以从 NSRunLoop 入手,就可以知道主线程上都调用了哪些方法。我们通过监听 NSRunLoop 的状态,就能够发现调用方法是否执行时间过长,从而判断出是否会出现卡顿。
所以,我推荐的监控卡顿的方案是:通过监控 RunLoop 的状态来判断是否会出现卡顿。

PS:表示这节看不懂啊,虽然工作也遇到这个问题了,呜呜呜~~~

上一篇下一篇

猜你喜欢

热点阅读