工具ObjectAlloc:活字节和总字节的解释

我正在使用Instument的ObjectAlloc工具来试图了解我的应用程序(iPhone)正在做什么以及它在何时何地执行它的内存。

我真的很喜欢这些统计的基本解释:

  • 实时字节
  • 活的

  • 短暂的

  • 总字节数

当我正在尝试计算出我的应用程序使用了多less内存时,我可以查看“实时字节”还是“总体字节”? 这是否包括泄漏的内存? 什么是过渡对象?

谢谢

ObjectAlloc跟踪程序运行时的所有内存分配和释放。

Living bytes, or Net bytes是应用程序在您select时间线时使用的内存量。 这将包括泄漏的内存,因为泄漏的内存永远不会被释放。

#Living是一个特定的大小/对象types发生了多less分配(并且仍然被分配)。 这在寻找泄漏时非常有用。

例如,如果您重复执行某个操作(如进入模式视图控制器),并且您看到#Living对象的#Living每次都会增加相同的数量,那么您可能会泄漏这些对象。 然后,您可以通过深入查看分配对象的确切代码行来确认,甚至可以查看每个对象创build的时间索引。

Overall bytes包括已经释放的内存。 跟踪这个数字用于性能优化是很有用的,但是如果你只是想看看你当前的内存占用情况或者查找泄漏情况,那么不是这样。

苹果文档统计说明。 链接到文档

在这里输入图像说明

在这里输入图像说明