ios – Xcode显示内存泄漏,但仪器没有

当我从 Xcode运行我的应用程序时,很明显我有一个内存泄漏:

当我提供一个自定义的ViewController时,内存增加,但是当我关闭它时,它不会退回.

所以我也检查了使用仪器的分配工具,但这说明了一个不同的故事:

可以看出,当我呈现ViewController时,仪器会显示尖峰,但是当内存使用被关闭时,内存使用率将恢复到以前的级别.

我已经检查了我的代码至少15次,我个人无法找到任何内存泄漏,因此同意仪器.我还在我所有的对象中实现了deinit函数,这样将被分配如下:

deinit {
  print("Deinnited \(id)")
}

并且所有物体按预期打印到控制台.

可能会发生什么?我在用:

> iOS 9.0
> XCode Version 7.0(7A220)
> Swift 2.1

运行和配置文件的模式都在“调试”

解决方法

这是一个非常烦人的Xcode错误,或者可能是一个功能:)如果你看到从苹果的角度.

我今天遇到了,这里是如何解决的.

>按设置方案的应用程序名称(xcode中的停止按钮旁边)
>选择’编辑方案’
>选择“运行”(弹出窗口的左侧)
>选择’选项'(弹出窗口的顶部)
>取消选中“启用回溯记录”(上次选择您需要向下滚动)

缺点是如果你崩溃,那么回溯将被禁用.所以我想你想切换这个开关取决于你想要关注的.

在“配置文件”方案中,不启用回溯,因此您在使用调试导航器(运行方案)而不是在仪器(配置文件方案)中只看到内存泄漏.

/安德斯.

相关文章

当我们远离最新的 iOS 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...