【问题标题】:Analyzing Instruments readings分析仪器读数
【发布时间】:2010-10-04 06:26:33
【问题描述】:

Leaks:

None

ObjectAlloc:

Net Bytes: 4,332,512
# Net: 26,696
Overall Bytes: 103,769,552
# Overall: 738,987

Activity Monitor (MyApp):

# Thread: 6
Real Memory: 63.65 MB
Virtual Memory: 209.45 MB

内存监视器显示与活动监视器相同的读数。我不知道这些读数是好是坏。活动监视器显示的内存令人恐惧。我应该担心吗?一旦应用程序移动到设备,我可以以某种方式估计应用程序使用的内存吗?真正的运行时内存?谢谢。

【问题讨论】:

    标签: instruments


    【解决方案1】:

    至少根据我的经验,对象分配报告的内存使用情况并不是很有权威性。真正的交易是内存监视器报告的实际内存消耗,请参阅my question on iPhone memory consumption。您的数字似乎是在模拟器中测量的,这样的测量毫无价值。您必须在设备上进行测量。

    【讨论】:

    • 我看过你的帖子,如果内存监视器给了我真正的读数,那么我想我有麻烦了 - 但这些读数是在模拟器上的(我猜是设备上消耗的内存会一样吗?或几乎一样)。有什么建议吗?
    • 差别太大了,我错过了什么吗?
    • 模拟器上的测量在许多情况下完全关闭。您必须在设备上尝试,没有其他方法。
    【解决方案2】:

    Object Alloc 报告运行的整个生命周期内使用的总内存。这意味着,如果对象被分配和解除分配(通常是这样),您会看到总共消耗的所有内存。

    更有用的是选择“创建并仍然存在”选项,然后突出显示图形中内存增加但它永远不会下降的区域,如果你期望它会。然后您可以看到当时分配了多少内存以及分配它的内容。这适用于模拟器和设备。

    【讨论】:

    • "然后你可以看到当时分配了多少内存以及分配它的内容。"我如何检查分配它的内容。我可以选择区域,图表显示我读取的字节数,告诉我消耗了多少内存。以及“创造并仍然存在”的准确程度。
    • 查看分配内容的最简单方法是切换到树视图(底部图标之一)并显示每个内存块的元素,直到找到正在消耗内存的内容。 “创造并仍然活着”非常准确。
    猜你喜欢
    • 2012-03-02
    • 1970-01-01
    • 2012-03-09
    • 2012-09-30
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    相关资源
    最近更新 更多