iOS中runloop总结(一)

定义:
runLoop是运行循环,处理app中的事件,保持程序的持续运行

内部运行逻辑:
1.通知Observers进入loop,处理timer、事件、block
2.事件处理完成后通知Observers进入休眠状态,等待消息唤醒
3.通知Observers结束休眠,开始处理事件

项目用到的地方:
1.线程保活,控制线程生命周期
2.解决NSTimer在滑动时停止工作的问题
3.监控应用卡顿
4.性能优化

runloop和线程的关系:
一个线程对应一个RunLoop,主线程的RunLoop默认创建并启动,子线程的RunLoop需手动创建且手动启动(调用run方法)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容

  • 1.什么是RunLoop RunLoop 实际上是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(...
    哲里菲桦阅读 281评论 0 1
  • 通过前面几篇文章可以知道RunLoop实际上是一个事件处理的循环.只要一个线程启动了RunLoop,在它没有收到事...
    brownfeng阅读 2,004评论 0 7
  • __CFRunLoops是一个字典已线程作为key CFRunLoopRef作为value 从以上代码分析可以看到...
    大墙66370阅读 3,885评论 1 10
  • 1、runloop是来做什么的?runloop和线程有什么关系?主线程默认开启了runloop么?子线程呢? 参考...
    二斤寂寞阅读 422评论 0 0
  • 目录 Runloop RunLoop 与线程 个人理解总结 应用场景 1. 什么是RunLoop 基本作用 保持程...
    Ryan___阅读 1,561评论 0 13