Objective-C对象的生命周期
来源:互联网 发布:数据分析步骤 编辑:程序博客网 时间:2024/05/21 01:27
Objective-C的对象拥有引用计数,对象被创建后其引用计数为1,当其引用计数减少为0时,系统将会销毁此对象。
对象引用计数加1:
- (id) retain;
对象引用计数减1:
- (void) release;
–(void) autorelease;
获得对象当前引用的计数
- (unsigned) retainCount;
通常使用AutoreleasePool自动管理对象的生命周期:
NSAutoreleasePool *pool;
pool = [[NSAutoreleasePool alloc] init];
...
[pool release];
如果过程中创建了大量对象,pool可能无法及时清除这些对象,导致内存占用过高,如果有必要,可以在过程中主动释放pool:
[pool release];
pool = [[NSAutoreleasePool alloc] init];
下面是几条Cocoa内存管理的规则:
- 如果你使用new, alloc, copy的方式获得一个对象,它的引用计数为1,由你负责调用release清除此对象。
- 如果你retain一个对象,你必须在使用之后对此对象调用release或者autorelease,保持它的引用计数平衡。
- 如果你通过其他途径获得一个对象,你不需要做任何事。
Objective-C 2.0已支持垃圾回收技术(但iPhone不支持),可以在工程信息窗口的Build页,选择Required [-fobjc-gc-only] 。打开垃圾回收选项之后,要求将不再使用的对象设置为nil以确保其能正确被回收,而其他内存管理方式将会失效。
- Objective-C对象的生命周期
- ios objective-c 生命周期
- Objective-C的对象模型
- iPhone Objective-C 判断对象的类型
- Objective-C对象的创建和使用
- 谈谈Objective-C下对象的初始化
- Objective-C 2.0 类对象的概念
- 基于Objective-C的面向对象编程
- 浅谈 Objective-C 下对象的初始化
- Objective-c中对象的归档
- 浅谈 Objective-C 下对象的初始化
- 【Objective-C】07-OC对象的继承
- 浅谈 Objective-C 下对象的初始化
- Objective-C的对象等同性
- objective-C 自定义对象归档的实现
- Objective- c浅谈对象的初始化
- objective-c中所谓的僵尸对象
- Objective-c下的对象初始化
- 如果让我重做一次研究生
- TStringList 常用操作
- Ewebeditor文件上传问题
- 手动配置linux(centos)的IP地址
- 把多列数据合并成一列输出——数据库学习小记
- Objective-C对象的生命周期
- vnc的使用
- 关于rand()与srand()的资料收集(一)
- SRM 439
- 用Java制作属性编辑器
- JQuery+JSON 实现的一个仿Google提示的代码
- C#调用Oracle数据库Function
- 受人喜爱的Ubuntu 9.04 Server 下载地址
- 生活的无奈