iOS:方法中定义的局部变量的内存占用

时间:2014-12-05 03:30:02

标签: ios objective-c memory-management

我需要一些硬编码的收集数据(即NSArrayNSDictionary),我想知道它的内存占用情况,例如,

- (NSArray *)getDataA
{
    NSArray *data = @[ @{@"key": @"value"} ];
    return data;
}

实际数据远远超过上述代码中的键值。

我猜局部变量存储在堆栈中,实际值在堆中,但在调用getDataA之前,它们是否占用了任何内存空间?

谢谢!

1 个答案:

答案 0 :(得分:0)

请记住,问题中的结构是由在运行时执行的代码创建的,它们不是静态的。常量NSStrings是例外,可能还有一些其他特殊情况,如某些NSNumbers。

除非你有MB,否则尺寸并不重要。像所有优化一样:不要。做最明确的实施,然后进行衡量。