objective-c内存管理
第一次接触内存管理,理解起来比较困难。
- 确保有多少alloc、copy、mutableCopy或retain消息就有多少release或autorelease消息发送给该对象。
- 在访问方法设置属性时先保持、再释放。
- 以便利构造方法创建的对象(比如NSString的stringWithString)可被认为会被自动释放。
- 用@"..."结构创建的NSString对象是有效常量。和第三点的区别?
- 在自己的类中实现回收对象的方法dealloc。
还是有点不清楚,等接触的多一点了再回过头来看。
可以参考:关于Obj-C内存管理的规则
2010/06/02 Update:
以上说到的内存管理方式属于“Reference Counted”,是一种对所申请内存的使用次数进行计数的方式。比如A申请了一段内存,这时计数器就是1(alloc),然后B也要使用这一段内存,此时计数器变为2(retain)。如果A不再需要这段内存,就会release,计数器随之减为1,B也不再需要这段内存,也release,计数器变为0,此时就会进行内存回收(dealloc)。
浙公网安备 33010602011771号