美文网首页
问题:Runloop的mode作用是什么?

问题:Runloop的mode作用是什么?

作者: 姜小舟 | 来源:发表于2020-06-02 16:57 被阅读0次

关于Mode首先要知道,线程的运行的过程中需要去处理不同情境的不同事件,Mode 则是这个情景的标识,告诉当前应该响应哪些事件。一个 RunLoop 包含若干个 Mode,每个 Mode 又包含若干个 Source/Timer/Observer。每次调用 RunLoop 的主函数时,只能指定其中一个 Mode,这个 Mode 被称作 CurrentMode。如果需要切换 Mode,只能退出 Loop,再重新指定一个 Mode 进入。这样做主要是为了分隔开不同组的 Source/Timer/Observer,让其互不影响。

系统默认注册了5个Mode:

  • kCFRunLoopDefaultMode: App的默认 Mode,通常主线程是在这个 Mode 下运行的。
  • UITrackingRunLoopMode: 界面跟踪 Mode,用于 ScrollView 追踪触摸滑动,保证界面滑动时不受其他 Mode 影响。
  • UIInitializationRunLoopMode: 在刚启动 App 时第进入的第一个 Mode,启动完成后就不再使用。
  • GSEventReceiveRunLoopMode:接受系统事件的内部 Mode,通常用不到。
  • kCFRunLoopCommonModes: 这是一个伪模式,其为一组run loop mode的集合。如果将Input source加入此模式,意味着关联Input source到Common Modes中包含的所有模式下。在iOS系统中NSRunLoopCommonMode包含NSDefaultRunLoopMode、NSTaskDeathCheckMode、UITrackingRunLoopMode.可使用CFRunLoopAddCommonMode方法向Common Modes中添加自定义mode。

苹果公开提供的Mode有两个:

  • kCFRunLoopDefaultMode
  • kCFRunLoopCommonModes

相关文章

  • 问题:Runloop的mode作用是什么?

    关于Mode首先要知道,线程的运行的过程中需要去处理不同情境的不同事件,Mode 则是这个情景的标识,告诉当前应该...

  • runloop的mode作用是什么?

    线程的运行需要不同的模式,去响应各种不同的事件,去处理不同情境模式。 NSDefaultRunLoopMode: ...

  • runloop的mode作用是什么?

    用来控制一些特殊操作只能在指定模式下运行,一般可以通过指定操作的运行mode来控制执行时机,以提高用户体验系统默认...

  • RunLoop

    一、RunLoop是什么二、RunLoop的内部结构 1、RunLoop和线程的关系 2、RunLoop和Mode...

  • runloop 的常用 Mode 作用是什么?

    关于Mode首先要知道一个RunLoop 对象中可能包含多个Mode,且每次调用 RunLoop 的主函数时,只能...

  • Runloop在实际中到底有什么用?

    在面试中经常会被问到关于Runloop的问题,比如: runloop和线程有什么关系? runloop的mode作...

  • iOS:NSRunLoop浅析

    监听RunLoop的状态 RunLoop的一些说明: 一个 RunLoop 包含若干个 Mode,每个 Mode ...

  • Runtime 实际运用

    runloop和线程一一对应runloop包含多个mode, mode包含多个 mode item(sources...

  • 《招一个靠谱的iOS》31-35

    本人参考GitHub《招聘一个靠谱的iOS》面试题参考答案(下)31. runloop的mode作用是什么?32....

  • NSTimer的使用

    NSTimer的使用注意一:循环引用问题二:runloop的mode问题三:在子线程中使用时需要启动runloop...

网友评论

      本文标题:问题:Runloop的mode作用是什么?

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