iOS 运行循环-RunLoop 和 自动释放池-autoreleasepoo 笔记
来源:互联网 发布:北大历史系考研知乎 编辑:程序博客网 时间:2024/06/16 06:22
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄
一、"运行循环-RunLoop"的作用
最主要的作用:保证程序不退出->主线程始终存在!
除此之外运行循环还负责监听所有的事件,包括:手势触摸,时钟触发,网络加载数据完成
特性:没有事件的时候,会休眠(省电),一旦监听到事件,会立即响应
特点:开发几乎不用,但是概念很重要
每一个线程都有一个runloop,但是只有主线程的runloop会启动
二、"自动释放池-autoreleasepool"的作用
-延迟释放:哪些对象是会延迟释放的?
-所有延迟释放的对象,在出了作用域之后,会被添加到“最新创建的”自动释放池中,但是不会被立即销毁!
-"自动释放池被销毁"时会向池中所有对象发送release消息,可以释放所有的延迟释放的对象!
问题:自动释放池什么时候被销毁?
问题:自动释放池在ARC中工作吗?
答案:必须要工作!编译器在编译的时候,会根据代码自动添加retain,release,autorelease
经过多年的测试,ARC的性能比MRC要好!
谢谢!!!
阅读全文
0 0
- iOS 运行循环-RunLoop 和 自动释放池-autoreleasepoo 笔记
- 运行循环和自动释放池关系
- 《iOS开发笔记—运行循环RunLoop》
- IOS中的消息循环和自动释放池
- 91- 运行循环:RunLoop
- RunLoop运行循环
- 运行循环-RunLoop
- IOS自动释放池
- IOS自动释放池
- iOS---自动释放池
- iOS---自动释放池
- iOS自动释放池
- IOS自动释放池
- ios笔记--@property写法和autorelease pool自动释放池笔记
- iOS开发 底层抛析运行循环—— RunLoop
- iOS开发 底层抛析运行循环—— RunLoop
- 自动释放池和消息循环的关系
- RunLoop iOS运行回路
- centos 忘记密码解决方法
- Ubuntu 16.04解决TL-WN826N的驱动问题
- Golang学习笔记 结构体和指针
- PopupWindow在Android7.0后不能显示到指定位置
- 降薪求职,你是不是傻呀?
- iOS 运行循环-RunLoop 和 自动释放池-autoreleasepoo 笔记
- Java Socket 实现UDP实时聊天小案例
- 新人成长原则
- Number()对象
- Python时间+日期
- Linux Command Line and....ch20(正则表达式)
- shellScript之数组操作1
- 成为JavaGC专家(1)—深入浅出Java垃圾回收机制
- 学习Linux命令(52)