iPhone内存管理,一个新手问题 [英] iPhone memory management, a newbie question
本文介绍了iPhone内存管理,一个新手问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在(Apple)示例代码中看到了两种类型的分配内存的方式,并且不确定我是否了解差异和由此产生的行为.
I've seen in (Apple) sample code two types of ways of allocation memory, and am not sure I understand the difference and resulting behavior.
// FAILS
NSMutableArray *anArray = [NSMutableArray array];
[anArray release];
// WORKS
NSMutableArray *anArray1 = [[NSMutableArray alloc] init];
[anArray release];
失败"是指我收到崩溃/运行时警告等信息,而并非总是在我致电该发行版时就收到...
By "FAILS" I mean I get crashes/runtime warnings etc., and not always as soon as I call the release...
任何解释都值得赞赏.
谢谢
推荐答案
请记住
NSMutableArray *anArray = [NSMutableArray array];
行为类似:
NSMutableArray *anArray1 = [[[NSMutableArray alloc] init] autorelease];
因此,在尝试释放自动释放的对象时,再次执行释放会导致崩溃.
So doing a release again will cause the crash as you are trying to release an autoreleased object.
希望这对您有所帮助.
谢谢
Madhup
这篇关于iPhone内存管理,一个新手问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文