NSRunLoop

作者: 就算我心狂野 | 来源:发表于2016-04-28 22:38 被阅读33次

    • 我们的每一个App的本质都是使用RunLoop,在不断的监听事件,保证程序不退出.
    • 主线程的消息循环默认是开启的.
    • 子线程的消息循环默认是关闭的,需要我们手动开启,只有我们自己手动关闭,才能保持线程执行完毕后,子线程自动销毁
    • 作用:
      • 它是一个死循环,它会不断的检查有没有事件,如果有事件他就处理,没有事件的话就休眠
      • RunLoop在不处理事件的时候,它是休眠的.
      • 事件: 按钮点击,屏幕点击,屏幕滚动,定时器等...
    runloop.jpg
    • RunLoop的核心:
      • 核心1: 事件
        • 输入源事件
        • 定时源事件
      • 核心2: 运行模式
        *RunLoop在同一时间只能且必须在一种特定的模式下运行
        • 如果要更换Mode,必须先停止当前的Loop,然后再重新启动Loop
        • Mode是保证滚动流程的关键
        • NSDefaultRunLoopMode: 默认状态,空闲状态
        • UITrackingRunLoopMode: 滚动模式
        • UIInitializationRunLoopMode: 私有的,App启动时
        • NSRunLoopCommonModes: 默认包含1,2两种模式

    相关文章

      网友评论

          本文标题:NSRunLoop

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