gpt4 book ai didi

iphone - NSMutableArrays 的最佳内存管理

转载 作者:行者123 更新时间:2023-12-03 21:01:49 26 4
gpt4 key购买 nike

我真正需要回答的一个简单问题:

哪个使用更多内存?

一个带有一百万个对象NSMutableArray或者带有一个对象的一百万个NSMutableArrays

会有区别吗?

最佳答案

一百万个带有一个对象的 NSMutableArrays 会消耗更多内存。

假设一个基本的 NSMutableArray 实现,它有一个指针和元素的大小:

  • 指针为 4 到 8 个字节
  • 大小为 4 到 8 个字节
  • 那么每个实例都需要两次分配(一次用于对象,一次用于数组),这意味着这些地址会在某个地方进行跟踪。
  • isa 添加一个指针,另外 4 到 8 个字节

现在这不一定是 NSMutableArray 的实现方式,但它让您了解通用实现中每个实例的内存成本。

那么您是否愿意将所有这些部分相加:

  • 添加 1000000 * sizeof(int*)
  • 或者乘以 1000000?

这应该让您知道 1M 数组将消耗更多内存。当然,如果您需要实数,您可以使用 Instruments 进行测试。

关于iphone - NSMutableArrays 的最佳内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17599029/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com