"leaks"与Instruments.app中的>#Living"分配有什么不同?

What is the difference between quot;Leaksquot; and quot;Allocations gt; # Livingquot; in Instruments.app?(quot;leaksquot;与Instruments.app中的gt;#Livingquot;分配有什么不同?)
本文介绍了"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"分配有什么不同?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

iOS VoiceOver functionality changes with Bundle Identifier(IOS画外音功能随捆绑包标识符而变化)
java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type(异常:不应为错误类型创建SimpleTypeImpl)
userContentController never called back from JS injection(用户内容控制器从未从JS注入回调)
Android IllegalArgumentException: The tag for fragment_XXX is invalid. Received: layout-sw600dp/fragment_XXX_0(Android IlLegalArgumentException:Fragment_XXX的标签无效。收到:Layout-sw600dp/Fragment_XXX_0)
How to make dataWithEPSInsideRect vector rather than bitmap in vector format?(如何用EPSInside Rect将dataWithEPSInside Rect变成矢量而不是位图的矢量格式?)
HTTPS request using volley(使用 volley 的 HTTPS 请求)