泄漏仪器中的减号是啥意思?

Posted

技术标签:

【中文标题】泄漏仪器中的减号是啥意思?【英文标题】:What does a minus sign mean in the Leak Instrument?泄漏仪器中的减号是什么意思? 【发布时间】:2016-01-31 09:04:45 【问题描述】:

我正在使用 Xcode 的 Instruments 来查明我的应用程序中是否存在任何泄漏。但我发现图表有点混乱。该应用程序在执行某项工作时会得到一个叉号,但之后它只会显示减号。

引用计数似乎最终归零。我对阅读不是很确定。

official documentation 有点过时了。

【问题讨论】:

【参考方案1】:

在最近的Leaks instrument documentation 中没有关于快照图标的解释。

通过分析泄漏的代码,泄漏指示器的含义如下:

绿色复选标记(打勾):快照间隔内未发生泄漏(并且之前不存在泄漏)。

红色 x(十字):快照间隔内发生一次或多次泄漏。

灰色破折号(减号):当前快照间隔内未发生新泄漏,但仍存在来自先前快照的泄漏。

如果先前快照中的泄漏对象被释放,您会看到绿色的勾号而不是灰色的破折号。

您可以submit a documentation bug report Apple 要求在文档中添加解释。

【讨论】:

【参考方案2】:

这是实例Reference Counter的演变(或增量)(ARC 适用于 Swift 和 Objective-C)。

+1 表示对象被引用(也就是变量指向该对象),-1 表示该变量设置为 nil。

此列的右侧显示该对象的实际引用计数。当它达到 0 时,该对象实际上被标记为释放。

【讨论】:

谢谢!所以我不用担心红十字? 具体来说,我所说的减号是图片中的钻石。 1.

以上是关于泄漏仪器中的减号是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

使用仪器检查 xcode 4 中的内存泄漏

如何解决 xcode(仪器)中的 iPhone 应用程序内存泄漏

一分钟后webview中的内存泄漏仅通过仪器

IPHONE:使用仪器分析泄漏

仪器(泄漏)不工作

汇编中寻址模式之前的减号是啥意思,例如 -0x2(%rbx)