好长时间了, 继续总结一下
1. 现在我们有一个持续的异步任务需要执行,这时候我们会创建一个独立的生命周期可控的线程,而Runloop就是控制线程的生命周期并接受事件进行处理的循环机制。换句话讲:Runloop就是iOS事件响应与任务处理最核心的循环机制。
2. runloop的加入 提高了响应效率,流畅,节约设备资源省电,该做事的时候做事,该休息的时候休息,保持程序的持续运行
3.Runloop 在主线程上面 不需要我们创建 自动会生成, 有没有注意 程序的入口函数 Main函数,里面有 Return 如下图
程序正常开启 永远不会走到 return 是否知道为什么? Runloop可以帮你解释:如果没有 RunLoop 程序一运行就结束了,根本不可能看到持续运行的 app
4 Runloop并不是线程安全,所以需要避免其他线程调用当前线程的Runloop,Runloop也负责管理Autoreleasepool 负责处理消息事件 即 输入源事件 计时器事件
5 会持续更新 时间不允许了, 下次重新整理思路 继续总结 望理解