因此,在xcode中,Debug Navigator显示CPU使用情况和内存使用情况。当你点击Memory时,它会显示'Memory When‘。
在我的应用程序中,我使用的是最新的Restkit (0.20.x),每次我使用getObjectsAtPath (它甚至不会返回非常大的有效负载)发出GET请求时,所使用的内存增加了大约2mb。因此,如果我刷新我的应用程序100次,所使用的内存将增长超过200mb。
但是,当我运行泄漏工具时,Live Bytes仍然相当小,并且不会随着每个新请求的增加而增加。活动字节始终保持在10mb以下。
那么我到底有没有内存问题呢?内存使用量急剧增长,但Live Bytes表明一切正常。
发布于 2014-02-06 23:18:29
您可以使用Heapshot Analysis来评估情况。如果没有显示增长,那么内存消耗可能是虚拟内存,它可能(例如)驻留在缓存/存储中,该缓存/存储可能支持驱逐和重新创建--因此您还应该确定虚拟内存区域的增长。
如果你一直发出请求(例如,尝试200次刷新),内存可能会在某个时候减少--或者你会收到内存警告,最终分配请求可能会失败。如果是这种情况,请确定如何减少内存。否则,您将需要确定它的创建位置和可能的引用位置。
另外,在这种情况下,在设备上进行测试。模拟器能够比设备使用更多的内存,原因很简单,因为它有更多的内存需要处理。不会模拟内存约束。
https://stackoverflow.com/questions/21606462
复制相似问题