关于autorelease一个认识的误区

伪代码如下

-(void)funciton{

A *a= [[ [A alloc]init ]autorelease ];

}

之前疑为 在函数中局部变量声明称autorelease,当函数语句块结束后 a 会释放掉所占内存,但是结果不是,object-c 管理内存的方式有点变态,a 释放是在其对应的autoreleasepool被release的时候才清空!大家务必注意,尤其是刚从c c++转过来的兄弟们

为了可怜的手机内存 还是写成

-(void)funciton{

A *a= [ [A alloc]init ];

……

[a release];

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值