RunLoop

作者: hehc08 | 来源:发表于2017-05-07 10:55 被阅读0次

    一、RunLoopObserver 与 Autorelease Pool

    UIKit通过RunLoopObserver在RunLoop两次Sleep间对AutoreleasePool进行pop和push,将这次Loop中产生的Autorelease对象释放。(好像swift中没有关于释放的问题)

    二、CFRunLoopMode

    RunLoop在同一时段只能且必须在一种特定Mode下Run

    更换Mode时, 需要暂停当前的Loop,然后重启新的Loop

    NSDefalutRunLoopMode      默认状态.空闲状态

    UITrackingRunLoopMode     滑动ScrollView

    UIInitializationRunLoopMode    私有,App启动时

    NSRunLoopCommonModes     默认包括上面第一和第二

    三、参考资料

    CF框架源码(这是一份很重要的源码,可以看到CF框架的每一次迭代,我们可以下载最新的版本来分析,或与以下文章对比学习。目前最新的是CF-1153.18.tar.gz)

    RunLoop官方文档(学习iOS的任何技术,官方文档都是入门或深入的极好手册;我们也可以在Xcode—>Help—>Docementation and API Reference —>搜索RunLoop—> Guides(59)—>《Threading Programming Guide:Run Loops》这篇即是)

    深入理解RunLoop(不要看到右边滚动条很长,其实文章占篇幅2/5左右,下面有很多的评论,可见这篇文章的火热)

    RunLoop个人小结(这是一篇总结的很通俗容易理解的文章)

    sunnyxx线下分享RunLoop(这是一份关于线下分享与讨论RunLoop的视频,备用地址:https://pan.baidu.com/s/1pLm4Vf9

    iPhonedevwiki中的CFRunLoop(commonModes中其实包含了三种Mode,我们通常知道两种,还有一种是啥,你知道么?)

    维基百科中的Event loop(可以看看这篇文章了解一下事件循环)

    相关文章

      网友评论

          本文标题:RunLoop

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