美文网首页
runloop在ios中的应用

runloop在ios中的应用

作者: 开着保时捷堵你家门口 | 来源:发表于2018-08-29 19:24 被阅读14次

    什么是runloop:

    总字面意思看就是运行循环,其实内部就是一个do-while循环,在这个循环内部不断的处理各种事件(例如source/observe/timer),

    一个线程对应一个runloop,主线程的runloop默认是打开的,子线程的runloop需要自己打开,(调用run方法)

    runloop只能选择一种mode启动,如果mode中没有任何的source、observe/timer的时候,runloop会选择自动退出

    自动释放池什么时候被释放

    在runloop即将进入休眠的状态下被释放.

    一般在使用runloop的时候会在外边加一个autoreleasePool,来释放内部的对象.

    自动释放池结束的时候,会对内部的对象进行一次释放。

    在开发过程中怎么使用runloop

    开启一个常驻线程、让子线程进入不消亡状态,等待其他的线程发送消息

    在子线程中开启一个定时器

    在子线程中长期监控一些行为

    可以控制定时器在哪种模式下运行  defaultMode  / truackingMode

    可以让某个事件在特定的模式下进行  persort select     :  mode:

    添加oberserve  监听runloop的状态

    相关文章

      网友评论

          本文标题:runloop在ios中的应用

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