美文网首页
iOS中的神秘事件RunLoop

iOS中的神秘事件RunLoop

作者: 落雪无痕_t | 来源:发表于2016-07-15 20:30 被阅读36次
    1. 什么是RunLoop

      • 从字面意思上来看:就是运行循环,跑圈
      • 究其内部也就是一个do-while循环,在这个循环内部不断地处理各种任务(比如Source,Timer,Observer)
      • 一个线程对应着一个RunLoop,主线程的RunLoop默认是开启的,这就是为什么APP程序可以一直运行的原因,但是子线程的RunLoop必须手动开启
      • RunLoop在运行的时候是分状态运行的,如果当前Mode下没有任何的Source,Timer,那么RunLoop就会直接退出
    2. RunLoop的使用场景

    • 开启一个常驻线程(让一个子线程不进入消亡状态,等待其他线程发来消息,处理事件)
      例如:
      • 在子线程开启一个定时器
      • 在子线程进行一些长期监控
      • 在子线程进行网络下载任务
    • 可以控制定时器在特定的模式执行
    • 可以让某些事件,行为,任务在特定的模式下执行
    • 可以添加Observer监听RunLoop的状态,比如监听点击事件处理(即拦截RunLoop的一些行动,在其之前做一些事情)

    相关文章

      网友评论

          本文标题:iOS中的神秘事件RunLoop

          本文链接:https://www.haomeiwen.com/subject/hsgyjttx.html