iOS 之 Runloop
runloop
是一个圆环, 应用在启动时即开启一个 runloop
, runloop
控制着整个 App 的生命周期.
用户点击屏幕时, 设备传递信号给 App 的 runloop
, runloop
即将被唤醒 -> runloop
被唤醒 -> 开始检查事件 -> 将事件添加到队列中 -> 运行事件 -> 移除事件 -> runloop
即将休眠 -> App 进入休眠状态.
联想: 图形的显示极大地依赖于 runloop
, 其在 runloop
中的即将休眠 beforeWaiting
和退出 exit
两个状态中注册了检查方法, 这个检查方法在 runloop
进入到这两个状态时会遍历所有需要更新的视图 (需要更新的图形标记 setNeedDisplay
), 然后对需要更新的图形执行图形绘制的相关方法 display