当我从Xcode运行我的应用程序时,很明显我有内存泄漏:
当我呈现一个自定义的ViewController时,内存会增加,但是当我解除它时它不会再回落。
所以我也使用了仪器的分配工具进行了检查,但这说明了一个不同的故事:
正如您所看到的,当我呈现ViewController时,Instruments会显示尖峰,但是当它被解除时,内存使用量会回落到之前的水平。
我已经检查了我的代码至少15次,我个人找不到任何内存泄漏,因此与仪器达成一致。我还在我的所有对象中实现了deinit
函数,它将被分配如下:
deinit {
print("Deinnited \(id)")
}
所有对象都按预期打印到控制台。
可能发生什么事?我正在使用:
Run和Profile的模式都在“debug”
中答案 0 :(得分:6)
如果您从Apples的角度看,它是一个非常恼人的Xcode错误或者可能是一个功能:)。
我今天确实遇到了它,以下是如何解决它。
按设置方案的应用程序名称(xcode中的停止按钮旁边)
选择'编辑方案'
选择'运行' (弹出窗口的左侧)
选择'选项' (弹出窗口的顶部)
取消选中'启用回溯录音' (您需要向下滚动的最后一个选择)
缺点是如果崩溃,将禁用回溯。所以我想你想根据你想要关注的内容来切换那个开关。
在'个人资料中' scheme没有启用回溯,因此在使用调试导航器(运行方案)而不是仪器(配置文件方案)时只看到内存泄漏。
/安德斯。
答案 1 :(得分:3)
经过对Google和其他论坛的大量研究,这似乎是XCode的一个错误。
答案 2 :(得分:2)