runloop总结
1 runloop从字面意思理解是运行循环,跑圈
内部是一个do-while循环,在这个循环内部不断处理各种任务(source,timer,observe)
2每条线程对应一个runloop,主线程runloop默认启动,子线程的runloop需要手动启动
3.runloop只能选择一个mode启动,如果当前mode中没有任何Source,timer,Observe,那么就直接退出runloop
开发中怎么用runloop
开启常驻线程,让一个子线程不进入消亡状态,等待其他线程发消息,处理其他事件
在子线程中开启定时器
在子线程中进行一些长期监控
控制定时器 或者某些事件 在特定模式下执行
可以添加obsever监听runloop的状态
应用举例
1.只在NSDefaultRunLoopMode模式下显示图片
[self.imageView performSelector:@selector(setImage:)withObject:[UIImage imageNamed:@"placeholder"]afterDelay:3.0 inModes:@[NSDefaultRunLoopMode]];
滚动的时候不加载,停止滑动的时候加载
2.常驻线程 举例子 afnetworking sockect通讯 扫描沙盒等等
网友评论