新的空 iOS 应用程序有几十个内存泄漏

New empty iOS app has dozens of memory leaks

在一个新的、从零开始的单一视图应用程序上使用 Leaks Instruments 工具 iOS 报告了 23 次泄漏。这似乎不对——我是不是漏掉了什么?重复运行产生不同的泄漏计数,从 16 到 35。重现步骤遵循此屏幕截图。

Memory leak in login with amazon sample ios app

上发布了一个类似的未回答的问题

我正在使用 Xcode 10.2.1 (10E1001); iOS 12.2(模拟器和设备都显示泄漏,无论是否激活 Reveal。)

  1. 创建新的单视图 iOS 应用程序。
  2. 在 Scheme > Run/Debug 部分,启用
    • 内存管理 > Malloc 涂鸦
    • 日志记录 > Malloc 堆栈(仅限实时分配)
  3. 运行 产品 > 配置文件 (⌘I)
  4. 第一次泄漏检查是绿色的;等第二个。
  5. 二十三处新泄密! (如上图。)

然而,除了 Instruments,Debug Navigator 不同意:

  1. 运行 正常调试会话
  2. 单击调试区域顶部的 "Debug Memory Graph"。
  3. Debug Navigator(下方)没有紫色感叹号(泄漏警报)。

Xcode 10.3 的发行说明说:

Resolved an issue where running an app in iOS 12.2 or later under the Leaks instrument resulted in random numbers of false-positive leaks for every leak check after the first one in a given run

听起来很像这个问题。所以这是一个错误(海森堡错误?),现在它已修复。