您的位置:首页 > 其它

NSMutableArray创建使用方法和心得

2014-04-24 16:15 1061 查看
如果知道一会儿要用的可变数组的大致大小建议使用initWithCapacity:n的方式,如果不知道就用init就好了,initWithCapacity:0 也许还不如init;因为有时候它会奔溃。
arrayWithCapacity是类autorelease的,而[NSMutableArray
alloc]initWithCapacity需要自己release。


在with capacity的情况下,在初始化的时候分配的内存为n*sizeof(elem)--假设capacity为n。如果在使用的过程中需要加入更多的元素需要给array扩容了,那么必须去找系统再次要求分配内存,而这次要求的内存的大小和扩容因子有关系,如果扩容因子为2,那么扩容之后总共分配的堆内存就成了2n*sizeof(elem)..扩容因子应该自己可以指定吧一般。
init、initWithCapacity:0和initWithCapacity:10000000的结果非常接近,都是2.1~2.2秒之间。由于存在波动,结果基本上是随机的,所以我倾向于选择最短的写法
如果你知道最大需要的容量,那么就使用initWithCapacity:来设置,好处就是当元素个数不超过容量时,添加元素不需要重新分配内存。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: