我有一个关于 NSArray 和 NSMutableArray 的问题。我理解两者之间的区别主要是 NSArray 是不可变的,而 NSMutableArray 是可变的。就我的研究而言,性能也差不多。有一件事我找不到好的答案,那就是 NSMutableArray 使用的内存是否比 NSArray 多,以及 NSMutableArray 是否比 NSArray 在内存上更苛刻。
非常感谢您的建议和解释。
谢谢 维克
最佳答案
NSMutableArray 使用稍微多一点的内存有两个(呃,四个,看评论)原因:
1) 因为它可以改变大小,所以它不能存储对象内部的内容,必须存储指向外线存储的指针以及用于存储的额外malloc节点
2) 因为在添加内容时一次调整一个元素的大小会非常慢,所以它会分 block 调整大小,这可能会导致一些未使用的空间。
关于ios - 出于内存原因,NSMutableArray 是否比 NSArray 更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14493302/