【发布时间】:2011-08-29 23:07:40
【问题描述】:
做
[[NSMutableArray alloc] init];
和
[[NSMutableArray alloc] initWithCapacity:0];
编译成完全相同的东西?
如果它们不同,那么在内存和运行时性能方面如何以及哪种形式“更好”?
【问题讨论】:
-
在不知道实现细节的情况下,我希望能够相信并说基金会团队使两者之间的性能差异可以忽略不计。从个人观点来看,我认为最好的做法是在有意义的情况下调用类提供的任何初始化程序而不是通用初始化程序。由于 NSMutableArray 公开声明 initWithCapacity 并且只继承 init 我倾向于使用 initWithCapacity。另外,为什么不编写一个循环,使用 init 和 initWithCapacity 分析大量可变数组创建并添加您的观察结果。
-
提防过早优化。
-
关于 NSArray 性能的有趣读物:"Our Arrays, Aren't" by Ridiculous Fish。 @乔
标签: iphone objective-c memory-management