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

时间:2019-05-16 18:07:35

标签: ios memory-leaks instruments

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

一个类似的未解决的问题发布在Memory leak in login with amazon sample ios app

Screenshot of Instruments window

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

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

但是,除Instruments之外,Debug Navigator并不同意:

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

Screenshot of Debug Navigator

1 个答案:

答案 0 :(得分:1)

Xcode 10.3的发行说明说:

  

解决了以下问题:在Leaks仪器下在iOS 12.2或更高版本中运行应用程序后,给定运行中的第一个泄漏检查后,每次泄漏检查都会产生随机数的假阳性泄漏

听起来完全像这个问题。因此,这是一个错误(Heisenbug?),现在已修复。