RunLoop
2018-10-19 本文已影响0人
通哥
我们说的RunLoop指的是NSRunLoop或者CFRunLoopRef. CFRunLoopRef是纯C语言的,NSRunLoop是对CFRunLoopRef的封装
- 内部是一个do while循环, 保持程序得持续运行
- 处理App各种事件, (触摸, 定时器, Selector)
- 节省CUP的消耗, 提高性能, 不做事情的时候就处于睡眠状态
- 每一条线程都有对应一个RunLoop, 主线程的RunLoop默认开启, 子线程的RunLoop要手动开启
- RunLoop第一次获取是创建, 线程结束时销毁
- RunLoop只能选择一个Model启动,如果当前Model中没有任何Source,TImer,Observer, 那么久直接退出RunLoop;