Instruments ObjectAlloc:Live Bytes& amp;总字节数

时间:2010-01-28 11:51:22

标签: iphone objective-c xcode instruments

我正在使用Instument的ObjectAlloc工具,试图了解我的应用程序(iPhone)正在做什么以及它在何时何地进行操作。

我真的想要对这些统计数据进行基本解释:

  • Live Bytes
  • 生活

  • 暂时性

  • 整体字节

当我试图弄清楚我的应用程序使用了多少内存时,我要查看Live Bytes或Total Bytes吗?这包括泄露的内存吗?什么是Transitory对象?

由于

2 个答案:

答案 0 :(得分:110)

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

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

#Living 是指特定大小/对象类型的分配数量(仍然已分配)。这在寻找泄漏时非常有用。

例如,如果你重复执行一个动作(比如进入一个模态视图控制器),并且你看到一个对象的#Living每次都增长相同的数量,那么你很可能泄漏那些物体。然后,您可以通过向下钻取并查看分配对象的确切代码行来确认,甚至可以查看每个对象的时间索引。

Overall bytes 包含已发布的内存。为了性能优化目的,跟踪该数字很有用,但如果您只是想查看当前的内存占用或查找泄漏,则不会这样做。

答案 1 :(得分:18)

来自apple docs的统计解释。 Link to the document

enter image description here

enter image description here