NSMutableArray
*marr=[NSMutableArrayarrayWithCapacity:5];有capacity的方法,
其内存原理如下:
capacity后的NSUInteger代表了开辟内存的一个单位
初始在内存中开辟5个内存,如果之后数组元素多余5个,则会再开辟新的5*2个新的内存,[考虑到数组的连续内存的特性]
单位是以5,把之前的5个元素的内容拷贝到新的十个新的内存里面,把第六个也放进去,然后释放初始状态创建的内存5个
最后得到了一块够用的连续的内存5*2
NSMutableArray
*marr=[NSMutableArrayarrayWithCapacity:5];有capacity的方法,
其内存原理如下:
capacity后的NSUInteger代表了开辟内存的一个单位
初始在内存中开辟5个内存,如果之后数组元素多余5个,则会再开辟新的5*2个新的内存,[考虑到数组的连续内存的特性]
单位是以5,把之前的5个元素的内容拷贝到新的十个新的内存里面,把第六个也放进去,然后释放初始状态创建的内存5个
最后得到了一块够用的连续的内存5*2
转载于:https://my.oschina.net/cao6793569/blog/492071