首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

runloop在ios中的应用

2024-12-20 来源:化拓教育网

什么是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的状态

显示全文