【发布时间】:2016-06-16 20:20:51
【问题描述】:
我正在尝试使用分配工具来分析 Swift 2 iOS 应用程序。我这样做是这样的:
- 使用分配工具运行应用程序。
- 应用启动后,我等待 10 秒,然后点击“Mark generation”
- 我打开我怀疑有内存泄漏的屏幕,等待 10 秒,关闭它,再等一会儿,然后点击“标记代数”
此时,我查看第二代以查看从未发布过的对象。我的麻烦是最大的罪犯总是只是“main”,它没有指向任何特定的类或方法
如上所示,“main”导致了几乎 80% 的内存泄漏,但堆栈跟踪并不指向任何特定的地方,不像它下面的泄漏指向特定的方法。
我不确定这是否相关,但是当我转到文件 -> 符号时,我显示了一个缺失的符号,就像这样。但是,我在机器上的任何地方都找不到这个符号:
我的问题是:这个“main”持有这么多内存是正常的,还是我端的某些配置错误导致我无法看到真正的堆栈跟踪?
【问题讨论】:
-
由于您正在处理一个具有完全机密标识符的完全机密项目,因此您应该按照 SO 规则的要求创建一个最小项目。否则膏药的数量让我觉得你的代码很糟糕。
-
为什么知道我的项目名称会帮助您解决我的问题?
-
如我所说,你花在膏药上的时间应该投入到创建一个最小的项目上。
-
你花在批评我的膏药上的时间应该花在回答我的问题上。
-
我绝对不会回答你的问题。你似乎忘记了提问者是谁。
标签: ios swift instruments