【发布时间】:2013-07-10 01:24:16
【问题描述】:
一个我真正需要回答的快速问题:
哪个占用更多内存?
一个NSMutableArray 有百万个对象 或一百万个NSMutableArrays 有一个对象?
会有区别吗?
【问题讨论】:
标签: iphone memory-management nsmutablearray
一个我真正需要回答的快速问题:
哪个占用更多内存?
一个NSMutableArray 有百万个对象 或一百万个NSMutableArrays 有一个对象?
会有区别吗?
【问题讨论】:
标签: iphone memory-management nsmutablearray
一百万个包含一个对象的 NSMutableArray 会消耗更多内存。
假设一个基本的 NSMutableArray 实现,它有一个指针和一个元素的大小:
isa添加一个指针,另外4到8个字节现在这不一定是 NSMutableArray 的实现方式,但它让您了解通用实现中每个实例的内存成本。
那么您是否愿意将所有这些部分相加:
sizeof(int*)
这应该让您知道 1M 数组将消耗更多内存。当然,如果您需要实数,可以使用 Instruments 进行测试。
【讨论】:
一百万个数组会使用更多的内存。
【讨论】: