Xcode Debugger 和 Memory Graph 的内存指标与 VM Tracker 不同

问题描述 投票:0回答:1

VM Tracker 捕获的脏大小与 Xcode 调试器模式或内存图捕获的脏大小之间似乎存在差异。

我发现 VM Tracker 中的驻留内存大小接近 250MiB,Xcode 调试器中的已用内存指标约为 730MB。

因此,我捕获了内存图并比较了 VM Tracker 和内存图之间的指标。

我发现的第一件事是 Xcode 调试器的内存使用量指标实际上是内存占用量(脏 + 脏压缩的未压缩大小)。 Memory Graph and Xcode Debugger compare(https://i.stack.imgur.com/b1xce.jpg)

然后我发现 VM Tracker 和 Memory Graph 之间的脏大小或驻留大小有很大不同。 Memory Graph dirty size is different from VM Tracker

例如,MALLOC_LARGE 的脏大小在内存图中为 125M,但在 VM Tracker 中约为 39MiB。

我很好奇为什么两个分析器的结果不同以及我应该更信任哪个工具的结果。

ios xcode memory instruments
1个回答
0
投票

Xcode 的调试器和 Instruments 报告存在差异的可能原因是 Xcode 的调试器正在使用项目的调试版本,而 Instruments 正在使用发布版本。调试版本会向您的应用程序添加一些内容,以便更轻松地调试应用程序。

我相信 Instruments 所报告的内容,因为发布版本是您的客户将使用的版本。

© www.soinside.com 2019 - 2024. All rights reserved.