本文介绍了";leaks";与Instruments.app中的>;#Living";分配有什么不同?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道在Xcode5的Instruments.app中显示的"Leaks"和"Allocation>#Living"有什么区别。我使用iprofiler
命令检查了用Clang++构建的C++命令行应用程序的内存泄漏,并使用Instrunents.app打开了一个.dtps
文件。
$ iprofiler -leaks ./a.out
$ open a.dtps
正如您在所附屏幕截图中所看到的,有166.61 MB的大内存。苹果公司解释说,"#Living"是"在选定的时间范围内创建的分配数量,并在该时间范围结束时仍然存在。"听起来"#Living"表示内存泄漏量。 但我没有在应用程序窗口的"Leaks"选项卡中看到此"Leaks"。"泄密"和"活着"有什么区别?
推荐答案
分配的和静止的对象是那些仍由应用程序使用并保留引用的对象。使用这个数字,您可以识别您仍然持有的对象,从而耗尽内存。分配分析可帮助您改善内存使用问题。他们不是泄密的暴徒,但仍被引用。
泄漏是应用程序中不再被引用和可访问的对象。因此,从未被释放或释放的对象分别。这篇关于";leaks";与Instruments.app中的>;#Living";分配有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!