【发布时间】:2014-02-18 13:56:46
【问题描述】:
我一直在 ARC 项目(在设备上运行)中使用 Instruments,以确保我正在清理所有废弃的内存。为此,我一直在使用分配生成工具并为相同的操作拍摄我的堆快照 10-20 次。我对增长感到困惑。有时增长为 0,而另一些时候,一些字节数(从几字节到几千字节的范围内从不一致)似乎正在累积。但通常至少有少数迭代增长为 0。
我的问题是:如果我的增长有时为 0,那是否意味着我的内存管理是正确的?还是我还有问题需要找出来?我知道内存可能需要几个周期才能“耗尽”,但是即使在 >10 次迭代之后仍然分配和剩余的内存呢?
这似乎是一个关于 Instruments 解释的更普遍的问题,所以我省略了任何具体的代码。此外,我发现这种情况发生在各种堆快照场景中:拉刷新、推送视图控制器等。
【问题讨论】:
-
您应该寻找内存泄漏而不是分配。您可以分配一些对象,使用它,并在完成后释放它,因此有一个分配计数,但没有问题。
-
我总是将 Memory Leaks 作为视图与 Allocations 放在一起,但从来没有出现过。但据我了解,您仍然可以有仪器无法捕获的泄漏。
标签: ios memory allocation xcode-instruments