• iOS 之 Runloop

    runloop 是一个圆环, 应用在启动时即开启一个 runloop, runloop 控制着整个 App 的生命周期.

    用户点击屏幕时, 设备传递信号给 App 的 runloop, runloop 即将被唤醒 -> runloop 被唤醒 -> 开始检查事件 -> 将事件添加到队列中 -> 运行事件 -> 移除事件 -> runloop 即将休眠 -> App 进入休眠状态.

    联想: 图形的显示极大地依赖于 runloop, 其在 runloop 中的即将休眠 beforeWaiting 和退出 exit 两个状态中注册了检查方法, 这个检查方法在 runloop 进入到这两个状态时会遍历所有需要更新的视图 (需要更新的图形标记 setNeedDisplay), 然后对需要更新的图形执行图形绘制的相关方法 display