Leak Instrument 中的减号是什么意思?

What does a minus sign mean in the Leak Instrument?

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

引用计数似乎终于归零了。我不太确定读数。

official documentation 有点过时了。

这是实例的进化(或Delta)Reference Counter(ARC适用于Swift和Objective-C)。

+1 是指一个对象(又名变量指向该对象),-1 是该变量设置为 nil。

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

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

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

  • 绿色检查(打勾):快照间隔内未发生泄漏(之前也不存在泄漏)。

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

  • 灰色破折号(减号):当前快照间隔内没有发生新的泄漏,但之前快照的泄漏仍然存在。

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

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