因此在xcode中,Debug Navigator显示CPU使用率和内存使用情况。当您点击“内存”时,它会显示“已使用内存”#。
在我的应用程序中,我使用最新的Restkit(0.20.x),每次使用getObjectsAtPath(它甚至不返回非常大的有效负载)发出GET请求时,使用的内存增加约2mb。因此,如果我刷新我的应用程序100次,Memory Utilized将增长超过200mb。
但是,当我运行Leaks工具时,Live Bytes仍然相当小,并且不会随着每个新请求而增加。实时字节一直保持在10mb以下。
所以我有内存问题吗?记忆利用变得像疯了一样,但Live Bytes表明一切都还可以。
答案 0 :(得分:1)
您可以使用Heapshot Analysis来评估情况。如果这没有增长,那么内存消耗可能是虚拟内存,可能(例如)驻留在可能支持驱逐和娱乐的缓存/存储中 - 因此您还应该识别虚拟内存区域的增长。
如果您继续发出请求(例如尝试200次刷新),内存可能会在某个时候减少 - 或者您将收到内存警告,最终分配请求可能会失败。如果是这种情况,确定如何减少内存。否则,您需要确定它的创建位置和可能的引用位置。
此外,在这种情况下测试设备。模拟器能够比设备使用更多的内存,因为它有更多的工作。不模拟内存约束。