Ios 多维数组会消耗内存吗?如何释放它们的内存

Ios 多维数组会消耗内存吗?如何释放它们的内存,ios,objective-c,memory,multidimensional-array,Ios,Objective C,Memory,Multidimensional Array,我有一个复杂的桌面视图。目标C 为了在每个单元格中填充大量标签,我有一个由2个NSMutableArray组成的多维表(一个嵌入另一个中)。结果是一个每行有3列的数组 释放我使用的内存 [arrayname removeAllObjects] 我所能说的是,这完全没有任何作用 这个数组(每行只包含大约130个字符的数据,在这个样本数据中我只有30行)就像一个病毒,它最喜欢的食物是内存。它吃了大块的50毫克,就像没有明天一样 removeAllObjects对恢复内存没有任何作用 我到处搜索,在使

我有一个复杂的桌面视图。目标C

为了在每个单元格中填充大量标签,我有一个由2个NSMutableArray组成的多维表(一个嵌入另一个中)。结果是一个每行有3列的数组

释放我使用的内存 [arrayname removeAllObjects]

我所能说的是,这完全没有任何作用

这个数组(每行只包含大约130个字符的数据,在这个样本数据中我只有30行)就像一个病毒,它最喜欢的食物是内存。它吃了大块的50毫克,就像没有明天一样

removeAllObjects对恢复内存没有任何作用

我到处搜索,在使用NSMutableArray时,没有找到释放内存的明确方法,而多维数组似乎是cookie怪兽


最后,我删除了多维数组,只构建了一个NSMutableArray,它将所有数据连接成一个字符串,然后在需要时将这3段数据分为子字符串

内存恢复正常


这可能不是理想的解决方案。有人找到了释放NSMutableArray内存的明确方法吗?

如果我们知道您使用的是什么语言,这会有所帮助。如果你是用C写的,打电话就行了

free(<array pointer>);
free();

最后,我删除了多维数组,只构建了一个NSMutableArray,它将所有数据连接成一个字符串,然后在需要时将这3段数据分为子字符串

内存恢复正常


这可能不是一个理想的解决方案,但它起了作用

多维
NSMutableArray
是不寻常的,但得到了支持。它可能不会按你期望的方式工作;它实际上是一个数组数组。在许多语言中,“2D”数组实际上是乘法函数的包装器。这很重要,因为对于
NSMutableArray
,每个子阵列的长度可能不同,您需要初始化和管理每个子阵列


但是使用ARC,内存将得到很好的处理。您的代码中有一个错误。您可能正在将子阵列保留在您不想保留的位置,或者您没有等待自动释放池耗尽。但是无论哪种方式,Cocoa中的数组都很好。

请为您使用的语言添加一个标记。谢谢Rob,我想你是对的,我一定没有清除某个子数组,但我看不到在哪里。