总结一下IOS内存管理

1.在init函数中必须调用[super init],函数dealloc中必须调用[super dealloc].

2.调用以“alloc”,"new","copy","mutableCopy"开头函数的生成的对象,必须release

3.对象调用retain,必须release

4.对象可以调用autorelease,延迟释放.

5.每个线程中至少有一个AutoreleasePool.

6.对于NSArray,NSDictionary等collection,调用release会自动清除(remove and release)所有包含的对象.

7.如果你不想污染当前AutoreleasePool,可以这样做

  NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];

  //你的代码

  [pool  release];

8.避免循环引用(retain),如 A->B B->C C->A,如果无法避免可以为对象添加其他释放函数(dispose)来破除循环.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值