当前位置 : 主页 > 手机开发 > ios >

ios – NSArray或NSMutableArray的removeAllObjects方法是否释放内存?

来源:互联网 收集:自由互联 发布时间:2021-06-11
我需要知道NSArray或NSMutableArray的removeAllObjects方法是否释放内存. 如果我的数组有10000个元素. 我可以用吗? [array removeAllObjects]; 释放内存并用其他元素重新加载?还是它会泄漏内存? 谢
我需要知道NSArray或NSMutableArray的removeAllObjects方法是否释放内存.

如果我的数组有10000个元素.
我可以用吗?

[array removeAllObjects];

释放内存并用其他元素重新加载?还是它会泄漏内存?

谢谢


如果我的NSMutable数组的大小是20mb,例如10.000个元素…如果我使用removeAllObjects方法…它的大小是0mb吗?

NS [Mutable]数组是对象的引用的集合.调用-removeAllObjects会忽略这些引用.阵列本身使用的容量和内存保持不变.对于NSMutableArray,可以重用这些引用以指向其他对象. NSArray缺少方法-removeAllObjects,因为它不可变.

对于大量对象而言,removeAllObjects比initWithCapacity稍慢.真正的性能差异是当对象数量达到极限时必须避免增长数组.

正如其他人所指出的那样,只有在没有更多强引用的情况下才会释放这些对象.

网友评论