5
当我需要临时使用数组,什么是它们之间的区别:自动释放与释放
1:
NSMutableArray *stuff = [[NSMutableArray alloc] init];
// use the array
[stuff release];
2:
NSMutableArray *stuff = [NSMutableArray array];
// use the array
3:
NSMutableArray *stuff = [[[NSMutableArray alloc] init] autorelease];
// use the array
我更喜欢2号,因为它更短。有没有充分的理由使用数字1或3?
谢谢!关于第1号内存立即释放的好处。 – keronsen 2010-11-02 12:42:01
在iPhone上,您会发现大多数人都使用第一号,因为内存会很快返回到运行时。事实上,苹果建议尽可能避免自动释放(在iPhone上)。 – JeremyP 2010-11-02 14:32:02
好的答案,保存最后一位。我敢打赌,在每次传递中创建新数组和删除所有对象之间的区别是不可估量的,很有可能,删除所有对象的速度将会微不足道。在任何情况下,直到您遇到量化的性能问题时才进行优化。 – bbum 2010-11-02 17:53:44