OC 内存管理

OC通过引用计数对内存进行管理。

1. alloc,new,copy使引用计数加1,release使引用计数减1。当一个对象的引用计数为0时,该对象被释放

2. alloc后必须调用release或者autorelease,否则会造成内存泄露

3. 不是alloc,new,copy创建的对象不能调用release和autorelease,向已经释放的对象发送release或者autorelease请求会使程序crash

4. 对于autorelease,向一个对象发送autorelease消息后,并没有使该对象的retainCount减1,而是将该对象放入当前活动的自动释放池中,当自动释放池被销毁的时候,它会向自己含有的所有对象发送release消息,retainCount为0的对象会被销毁

5. 自动释放池什么时候创建和销毁呢?系统会在适当的时间自动创建和销毁自动释放池,例如在当前用户事件处理完毕时,当然也可以自己创建和销毁自动释放池

posted @ 2012-11-06 09:22  Lost in code  阅读(336)  评论(0编辑  收藏  举报