来自 iOS 13 个应用程序的 Xcode 内存图上的 ~500 NSZombie 警告

~500 NSZombie warnings on Xcode memory graph from iOS 13 application

当我构建我的应用程序的内存图时,我看到了大约 500 个内存警告。当我查看时,这些都属于 Malloc Blocks 类别,并且(大部分)都以 NSZombie 为前缀。我假设这是在设备上 运行 时通常看起来的样子,但我想确定一下。

这正常吗?

不,这不正常。你已经打开了僵尸模式。

这不正常;当您想要追踪悬挂指针时,这是一种特殊的构建模式。根据定义,僵尸是泄漏,因此是警告。 None 的瞬态对象曾经不复存在。 Cocoa 会产生很多很多瞬态对象(正如您刚刚发现的那样)!开启 Zombies 进行内存图毫无意义,除非您正在追踪悬空指针,否则开启 Zombies 也毫无意义。

关闭僵尸模式!