关于autorelease一个认识的误区
2012-01-09 17:49
351 查看
伪代码如下
-(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];
}
-(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];
}
相关文章推荐
- 关于retain release autorelease 转载一个评论
- 关于autorelease pool一个较好的理解
- 关于autoreleasepool一个常见的面试题
- 关于autorelease pool一个较好的理解
- 关于autorelease pool一个较好的理解
- 关于autorelease pool一个较好的理解
- 关于autorelease pool一个较好的理解
- pt中关于vlan的一个误区
- 关于摩尔定律的两个认识误区
- 我的一个长久以来的误区,关于C
- 关于一些对location认识的误区
- 简述一个关于null的理解误区:null不等于null
- 关于Objective-C 对象release操作的一个小问题探讨
- SQL Server 中关于 @@error 的一个小误区
- 一个误区(关于javascript的字符串拼接)
- 关于NSAutoreleasePool' is unavailable: not available in automatic reference counting mode的解决方法
- 关于云技术混合架构的三个认识误区
- 关于NSAutoreleasePool' is unavailable: not available in automatic reference counting mode
- 关于前增量与后增量的认识误区
- 关于NSAutoReleasePool的理解