运行循环

​1. 在应用程序启动的时候,系统首先会启动一个主运行循环来给应用程序与用户交互,在这个过程中系统不断重复这个运行循环来跟用户交互,当用户的与手机产生交互到手机作出相应地反应为一次运行循环

1.1 运行循环的作用 :
    (1) 保证程序不退出
    (2) 监听所有事件,例如:手势触摸,时钟触发,网络加载数据完成等

2. 一个完整的运行循环如下 :

(1) 当用户触摸屏幕时候,CocoaTouch会产生一个触摸事件对象
(2) 接着CocoaTouch会产生一个自动释放池,然后会把此触摸事件对象发送给应用来处理这个事件,通常我们要在这个环节来处理我们的事件
(3) 当我们处理完事件之后,给用户做出了反应,那么此自动释放池就会被销毁,销毁前它会遍历此释放池中的所有对象给他们各发送一条release消息
(4) 注意如果在子线程中需要用到autorelease的对象,需要我们自己创建自动释放池

注意

在 `子线程`中不会帮我们自动创建自动释放池,特别在自定义 NSOperation 的 main 方法中,如果我们不自己添加 @autoreleasepool 的话,很容易会发生内存泄露
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容