美文网首页iOS Developer
runloop知识小结

runloop知识小结

作者: lsif的简书 | 来源:发表于2016-03-21 19:25 被阅读83次

什么是runloop?

       一个runloop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用run loop的目的是让你的线程在有工作的时候忙于工作,而没工作的时候处于休眠状,减少cpu做无谓的空转,以节约电量。

      run loop和线程是紧密相连的,可以这样说run loop是为了线程而生,没有线程,它就没有存在的必要。有些线程执行的任务是一条线段,起点到终点;而另一些线程要干的活则是一个圆,不断循环,直到通过某种方式将它终止。在IOS中,圆型的线程就是通过run loop不停的循环实现的。

runloop使用场景简单举例

•  实现自动释放池

       在使用手动的内存管理方式的项目中,会经常用到很多自动释放的对象,如果这些对象不能够被即时释放掉,会造成内存占用量急剧增大。Run loop就为我们做了这样的工作,每当一个运行循环结束的时候,它都会释放一次autorelease pool,同时pool中的所有自动释放类型变量都会被释放掉。

•  触摸事件

      Runloop可以在loop在循环中的同时响应其他输入源,比如界面控件的按钮,手势等,而不用等待当前线程结束。

• 延迟回调

     Runloop可以阻塞线程,等待其他线程执行后再执行。

•屏幕刷新

     TableView中实现平滑滚动延迟加载图片,利用CFRunLoopMode的特性,可以将图片的加载放到NSDefaultRunLoopMode的mode里,这样在滚动UITrackingRunLoopMode这个mode时不会被加载而影响到。

    工作已经有两年了,平常忙于工作几乎不总结知识,而且对于一个代码搬运工来说,现在真是一个瓶颈。所以利用简书平台,一方面记录知识,另一方给大家分享交流学习。很多资料也是网上查询的,也是很模糊,希望接下来继续完善,坚持记录,坚持学习,,同时不对的,也欢迎指正☺︎☺︎

相关文章

  • runloop知识小结

    什么是runloop? 一个runloop就是一个事件处理的循环,用来不停的调度工作以及处理输入事件。使用r...

  • NSRunLoop

    【iOS程序启动与运转】- RunLoop个人小结 RunLoop总结:RunLoop的应用场景(三) 走进Run...

  • OC--RunLoop应用例子

    知识点:1、RunLoop的基础知识2、RunLoop 与 NSTimer3、RunLoop 与 Perform ...

  • runLoop小结

    1、runloop和线程有什么关系? runloop:正如其名,loop表示某种循环,和run放在一起就是表示一直...

  • Runloop小结

    作用: 是一个死循环,保持线程活着,有活干活,没活休眠。而不会让一个线程一个任务执行完了,马上释放掉。 Runlo...

  • RunLoop小结

    一、先来几个问题 1.在viewDidLoad中添加3个循环的timer,这3个timer都会访问并且改变一个可变...

  • runloop 小结

    OC的两大核心runtime和runloop runloop简介 runloop本质上是一个do-while循环,...

  • RunLoop入门学习补充资料

    本文是对iOS RunLoop入门小结一文的资料补充 1.RunLoop运行逻辑 以下是伪代码1,摘自https:...

  • RunLoop

    Runloop基础知识 基本作用 重要说明 Runloop对象 Runloop与线程 获得Runloop对象 Ru...

  • 36.iOS底层学习之RunLoop

    本章提纲:1、RunLoop基础知识2、RunLoop的数据结构3、RunLoop的相关源码分析4、RunLoop...

网友评论

    本文标题:runloop知识小结

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