release,autorelease,autorelease pool

release 手动为对象引用计数减1

autorelease 把对象放入自动释放池,当自动释放池释放时,其内的对象引用计数减1

autoreleasePool 是通过接受对象向它发送的autorelease消息,记录该对象的release消息,当自动释放池销毁时,会对池中的对象发送release消息


auto release的好处:就是可以做到每个函数对自己申请的对象负责,自己申请,自己释放,该函数的调用者不需要关心它内部申请对象的管理。 在下面这个例子中,Func1的调用者不需要再去关心obj的释放。


ClassA *Func1()  

ClassA *obj = [[[ClassA alloc]init]autorelease]; 
return obj; 


autorelease和release没什么区别,只是引用计数减1的时机不同而已,autorelease会在对象的使用真正结束时才会引用计数减1


autorelease 使用注意

  • 操作占用内存比较大的对象的时候不要随便使用,担心对象释放的时间太迟
  • 操作占用内存比较小的对象可以使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值