可能的重复:
NSMutableDictionary 的字面创建是否比类帮助器方法效率低? https://stackoverflow.com/questions/12426786/is-literal-creation-of-an-nsmutabledictionary-less-efficient-than-the-class-help
根据介绍 ObjectiveC 文字的 WWDC 视频,NSMutableArray
s 可以像这样初始化:
[NSMutableArray arrayWithArray:@[]];
但如果我们这样做怎么办:
[@[] mutableCopy];
我知道一个是初始化数组,另一个只是提供浅拷贝;因此内存管理是不同的。但如果我们使用ARC,使用后者有什么缺点呢?是不是比较贵? ARC 可能以不同的方式处理两者,但我只是想知道是否使用mutableCopy
是否“更糟”。
在前一种情况下,您最终会添加到当前自动释放池中的两个对象:NSArray 文字和您从中创建的 NSMutableArray。在后者中,文字 NSArray 被添加到自动释放池中,但从它复制的 NSMutableArray 却没有。所以第一种情况是slightly更糟糕的是,从性能角度来看,耗尽自动释放池(例如在运行循环周期结束时)需要连续释放两个对象,而在第二种情况下,副本将与自动释放的文字分开释放。实际上,时间差将是无穷小的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)