我正在使用Instruments工具在我的应用程序中查找泄漏。在检查应用程序中的泄漏时,我也能看到分配选项卡。使用仪器工具中的分配
到目前为止,我从未使用过的分配选项卡在仪器工具。我只是检查了它可能是什么,我能够看到#All Allocations *字段。其中显示应用程序使用的总字节数。我很震惊地看到,规模在不断增加。
我应该担心的只有内存泄漏不分配? 而#All分配意味着当前应用程序的大小或整体应用程序的大小?
我正在使用Instruments工具在我的应用程序中查找泄漏。在检查应用程序中的泄漏时,我也能看到分配选项卡。使用仪器工具中的分配
到目前为止,我从未使用过的分配选项卡在仪器工具。我只是检查了它可能是什么,我能够看到#All Allocations *字段。其中显示应用程序使用的总字节数。我很震惊地看到,规模在不断增加。
我应该担心的只有内存泄漏不分配? 而#All分配意味着当前应用程序的大小或整体应用程序的大小?
这些分配对显示应用程序内存占用情况非常有用。如果您提供了一个modalViewController并解散它(并重复它),并且您看到您的应用程序活动字节数不断增加,那么就会出现问题。内存泄漏非常有用,可以查看分配的内存,并且您失去了对其的引用。使用ARC帮助,但仍可能有内存泄漏(例如循环引用)。分配还可以帮助您了解内存分配的位置,从不释放。例如一个NSArray
对象,你没有使用,但你仍然活着。对于您的问题:
1)你应该担心这两者。
2)直播字节显示当前应用程序的大小(虚拟存储器)。 总体应用程序大小,正如它所说:“选定时间范围内的分配总数”。
您还可以检查this。
的所有分配行显示实时字节列下堆的电流的大小,以及总体字节数列下不断分配的堆的字节总数。如果您分配一兆字节,则两列将增加1 MB。如果您随后释放该兆字节,则实时字节数将减少1 MB,但总体字节数不会更改。
直播字节是用于检测废弃或泄漏存储器是有用的。
总体字节通常不是很有用。当您遇到性能问题时您可能会使用它,并且想要查看是否由于分配过度导致流失。
还检查内存监视器以及,http://stackoverflow.com/questions/5518918/instruments-with-ios-why-does-memory-monitor-disagree-with-allocations – iDev