RunLoop

作者: KAKA_move | 来源:发表于2016-12-21 16:07 被阅读0次

    -  iOS 的体系架构

           1. cocoaTouch

           2.  Media

           3. Core  Services 核心服务层

           4. core OS 核心操作系统层

    - cocoa Touch  

            - 其中有UIKit 框架 精通CocaTouch 就是精通CocaTouch

            - 包含了简建立应用程序的主要框架

            - 定义APP的外观和基础组件

            - 多任务 手势输入 推送通知等高级系统服务 

             - 设计APP 优先考虑这一层级 (由高到低)

    - medie 层

            - 音频视频

             - 提供试听

    - Core services Layer

             - app所取得基础系统服务

             - core Foundation 和 Foundation框架 提供了基本类型(NSString. NSArray.NADictionNary)

             - 定位 icloud 媒体社交 网络 等功能 

             - 最底层的数据搭建

    - Core OS 

             - 有蓝牙

    Runloop 

    - 有一个死循环,这个线程不能死亡 

    - 一直等待用户交互

    - 负责所有的事件监听

    - 主线程的RunLoop在程序一运行就会开启

    - 不能自己创建RunLoop ,一个线程只有一个Runloop 只能Get

    - runLoop的线程是不安全的,不要在其他线程上调用当前线程的Runloop

    - 管理 AutoReleasePool

    - 消息事件,即: 输入源事件  计时器事件  网络请求事件

                 - 计时器 

                        NSTimer  + CADisplaylink 

                        定时不使用的时候一定要销毁,平时只用这一点使用Runloop,所有监听的方法都被苹果封装完了.

    * runLoop的应用场景 

              - NSUrlConnection 这个古老的框架,用到了Runloop,AFN2.0封装的时候用到了

              - socket 开发,使用Runloop能监听网络端口的接接受和发送;

              - socket 通常使用在智能家居/游戏机;

             - 自动释放池的释放和创建与runloop有关

    *Runloop两个模式:

             - defaultMode  等待用户交互

             - trackingMode 可以负责滚动

              - common modes 包含以上两个 (时钟的运用)

    相关文章

      网友评论

          本文标题:RunLoop

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