RunLoop笔记
2019-04-28 本文已影响0人
懿轩加油
1:runloop是什么
runloop其实是一个对象,提供一个入口函数,程序启动的时候,程序就会进入一个运行循环,内部其实是个do...while循环
2:runloop的作用
1:保证程序正常运行
2:处理app中的各种事件 (触摸,定时器,performSelector)
3:节省cpu资源,提高程序的性能(该做事的时候被唤醒做事,该休息的时候,就进入休眠状态休息)
3:runloop和线程的关系
主线程runloop和线程之间的存储
子线程runloop和线程之间的存储,都是一一对应的关系,子线程中runloop默认不开启的,需要手动开启
4:runloop源码分析-runloop对象和mode
一个runloop可以包含多种mode,一个mode包含多个item
常用的model,CFRunLoopModeRef{
kCFRunLoopDefaultMode App的默认 Mode,通常主线程是在这个 Mode 下运行的.
UITrackingRunLoopMode 界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响.
UIInitializationRunLoopMode 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用.
GSEventReceiveRunLoopMode 接受系统事件的内部 Mode,通常用不到.
kCFRunLoopCommonModes 这是一个占位的 Mode,没有实际作用.
}
5:runloop原理
6:待续.....