iOS中数组的优化

先写些结论,有空了再分析

iOS使用了类簇模式,比如数据创建NSArray和NSMutableArray时都是通过__NSPlacehodlerArray实现的。

只是在alloc时出来的__NSPlacehodlerArray相关16字节,并且在应用里任何地方NSArray *arr =
[NSArray alloc]都相同,所有的不可变数组alloc创建的都一样,同样可变数组的也都一样。

并且对所有长度为0的不可变数组,地址都一样。

同样对于NSDictionary也是类似原理,但是NSString不一样

iOS中数组的优化
image.png
iOS中数组的优化
image.png