当我从
Xcode运行我的应用程序时,很明显我有一个内存泄漏:
当我提供一个自定义的ViewController时,内存增加,但是当我关闭它时,它不会退回.
所以我也检查了使用仪器的分配工具,但这说明了一个不同的故事:
可以看出,当我呈现ViewController时,仪器会显示尖峰,但是当内存使用被关闭时,内存使用率将恢复到以前的级别.
我已经检查了我的代码至少15次,我个人无法找到任何内存泄漏,因此同意仪器.我还在我所有的对象中实现了deinit函数,这样将被分配如下:
deinit { print("Deinnited \(id)") }
并且所有物体按预期打印到控制台.
可能会发生什么?我在用:
> iOS 9.0
> XCode Version 7.0(7A220)
> Swift 2.1
运行和配置文件的模式都在“调试”
解决方法
这是一个非常烦人的Xcode错误,或者可能是一个功能:)如果你看到从苹果的角度.
我今天遇到了,这里是如何解决的.
>按设置方案的应用程序名称(xcode中的停止按钮旁边)
>选择’编辑方案’
>选择“运行”(弹出窗口的左侧)
>选择’选项'(弹出窗口的顶部)
>取消选中“启用回溯记录”(上次选择您需要向下滚动)
缺点是如果你崩溃,那么回溯将被禁用.所以我想你想切换这个开关取决于你想要关注的.
在“配置文件”方案中,不启用回溯,因此您在使用调试导航器(运行方案)而不是在仪器(配置文件方案)中只看到内存泄漏.
/安德斯.