新的空iOS应用有数十个内存泄漏

And*_*can 7 memory-leaks instruments ios

在新的,从零开始的单视图iOS应用程序上使用泄漏仪器工具会报告23次泄漏。这似乎不正确-我错过了什么吗?重复运行会产生不同的泄漏计数,从16到35。重现步骤遵循此屏幕截图。

亚马逊样本ios应用程序登录时内存泄漏中发布了一个类似的未解决问题

仪器窗口的屏幕截图

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

  1. 创建新鲜的单视图iOS应用。
  2. 在“方案”>“运行/调试”部分中,启用
    • 内存管理> Malloc涂抹
    • 日志记录> Malloc堆栈(仅实时分配)
  3. 运行产品>配置文件(?I)
  4. 第一次泄漏检查为绿色;等待第二个。
  5. 23个新的泄漏!(如上图所示。)

但是,除Instruments之外,Debug Navigator不赞成:

  1. 运行正常的调试会话
  2. 单击“调试”区域顶部的“调试内存图”。
  3. 调试导航器(如下)没有紫色感叹号(泄漏警报)。

Debug Navigator的屏幕截图

mat*_*att 4

Xcode 10.3 的发行说明说:

\n\n
\n

解决了以下问题:在泄漏工具下运行 iOS 12.2 或更高版本中的应用程序会导致给定运行中的第一次泄漏检查后的每次泄漏检查出现随机数量的误报泄漏

\n
\n\n

这听起来和这个问题一模一样。所以这是一个错误(Heisenbug?),现在它\xe2\x80\x99s 已修复。

\n