了解记忆报告

时间:2013-10-16 13:21:40

标签: ios memory-management xcode5

我有一个问题,我的应用程序的内存总是在Xcode 5中增长,另一方面,我没有找到任何可能导致泄漏,过度分配内存等的内容。

当然,据我所知,没有一个自动调试工具无法100%检测到错误的员工。

我做了简单的代码和平:

- (IBAction)buttonTapped:(id)sender {

    for (int i = 1; i < 5000; i ++) {
        NSLog(@"i equeal %d", i);
    }

    return;        
}

我已启动该项目,按下按钮3次,我已经:

enter image description here

如你所见 - 每次攻击,记忆总是在增长,但为什么呢?我真的很想知道 - 实际上,这个图表及其发生的原因是什么?

通过分配模板进行分析并未显示任何异常:

enter image description here

1 个答案:

答案 0 :(得分:0)

顶部图形与活动监视器仪器中显示的“实际内存使用”相同。我远不是一个专家(并且可能很容易出错),但我的理论是,只要操作系统具有为您的应用程序备用的内存,它就会为您的应用程序提供它(当您的应用程序要求它时)。操作系统不会立即回收该内存,因为它不知道您的应用程序是否会在不久的将来需要它。因此,操作系统为您的应用程序提供的总可用内存将随着每次分配而增加(假设操作系统有内存可供使用)。

在我的一个应用程序中,在任何给定时间分配的内存大约为110兆,但活动监视器给出的实际内存使用量为160的megs。不要太担心活动监视器。当你收到内存警告时,操作系统会释放内存(假设你实际上并没有使用内存,也没有让应用程序崩溃)。