美文网首页收藏ios
RunLoop运行循环

RunLoop运行循环

作者: T_guo | 来源:发表于2019-10-23 15:48 被阅读0次

1.什么是RunLoop?

(1)运行循环
(2)在程序运行过程只能够循环做一些事情

RunLoop的应用范畴?

(1)定时器,performSelector
(2) GCD Async Main Queue
(3)事件响应,手势识别,界面刷新
(4)网络请求
(5)AutoreleasePool

3.RunLoop的作用?

(1)程序并不会马上退出,而是保持运行状态
(2)保证程序的持续运行
(3)处理APP中的各种事件(比如触摸事件,定时器事件等)
(4)节省CPU资源,提高程序性能:该做事时做事,该休息时休息

4.RunLoop的内部实现逻辑?

image.png

5.RunLoop和线程的关系?

(1)每一条线程都有唯一的一个与之对应的RunLoop对象
(2)RunLoop对象保存在全局的Dictionary里,线程作为key,RunLoop作为Value
(3)线程刚创建的时并没有RunLoop对象,RunLoop对象会在第一次获取它的时候创建
(4)RunLoop会在线程结束时销毁
(5)主线程的RunLoop已经自动获取(创建),子线程默认没有开启RunLoop

6.timer和RunLoop的关系?

image.png

7.RunLoop的mode作用是什么?

(1)一个RunLoop包含若干个Mode,每个Mode又包含若干个Source0/Source1/Timer/Observer
(2)RunLoop启东时只能选择其中一个Mode,作为currentMode
(3)如果需要切换Mode,只能退出当前Loop,再重新选择一个Mode进入
(4)不同组的Source0/Source1/Timer/Observe能分隔开来,互不影响
(5)如果Mode里没有任何Source0/Source1/Timer/Observe,Runloop就会立马停止
(5)CFRunLoopModeRef常见的2种
kCCFRunLoopDefaultMode(NSDefaultRunLoopMode):APP的默认Mode,通常主线程是在这个Mode下运行
(5)UITrackingRunLoopMode:界面跟踪Mode,用于ScrollView追踪触摸滑动,保证界面滑动时不受其他Mode的影响

相关文章

  • RunLoop详解

    RunLoop详解 RunLoop运行循环(死循环) RunLoop模式 NSDefaultRunLoopMode...

  • RunLoop概念与响应者链

    一.RunLoop简介 什么是RunLoop? RunLoop就是运行循环,在程序运行的过程中循环做一些事情,如果...

  • 教你如何轻松搞定 Runloop

    认识 Runloop Runloop 就是运行循环,如果没有 Runloop,程序一运行就会退出,有 Runloo...

  • iOS-Runloop1-Runloop

    一. RunLoop相关 什么是Runloop?顾名思义,Runloop就是运行循环,就是在程序运行过程中循环做一...

  • 【iOS】Runloop

    Runloop概念 运行循环(死循环) Runloop作用 保持程序的持续运行 处理app中的各种事件 节省CPU...

  • RunLoop

    RunLoop简介 RunLoop,就是一个运行循环,通过一个内部的运行循环(Event Loop)对事件或者消息...

  • NSRunLoop

    RunLoop运行逻辑 RunLoop面试题: 1、什么是RunLoop? 答:从字面意思上:运行循环、跑圈。 其...

  • 初探Runloop

    1.runloop是什么? runloop 是一个运行循环(死循环); return UIApplicationM...

  • 简单谈谈RunLoop

    1、RunLoop定义 从字面上看,run是运行,执行的意思,loop是循环的意思,其实RunLoop就是运行循环...

  • RunLoop基础

    RunLoop简介 RunLoop运行循环,在程序运行过程中循环做一些事情.如:定时器(Timer)、Perfor...

网友评论

    本文标题:RunLoop运行循环

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