【问题标题】:Xamarin forms profiler - what is the real memory consumption? Size Growth always positive?Xamarin 表单分析器 - 什么是真正的内存消耗?规模增长总是积极的?
【发布时间】:2017-12-12 00:39:36
【问题描述】:

我试图弄清楚我的应用程序的实际消耗情况,因为我创建了示例应用程序来观察事物。但我无法理解 xamarin profiler 的结果。

下面的屏幕截图显示内存分配了 1.5mb,但是当我只单击活动对象时,它显示 510kb。有什么区别?这是否意味着应用程序仅使用 510kb 但通常分配了 1.5mb?在更大的应用程序上,这种差异更为显着。在我的应用程序上,当只有活动对象为 10mb 时,我看到内存分配高达 200mb。这是巨大的差异。

另一方面,xamarin 表示拍摄快照并比较差异。按照建议,我就是这样做的,但结果对我来说还不清楚。即使对象增长减少,大小增长也总是在增加。这是为什么? APP很基础,有2个页面,Snapshot 2到Snapshot 3是在将第2页弹出到第1页之后拍摄的。如果我弹出一个页面,怎么会增加尺寸?

更新:

在这里扩展问题。如图所示,当我单击“仅活动对象”时,它显示已分配内存 9,5mb。如果它们是活动对象,我知道这至少是托管代码当前的内存使用情况?这是真的吗?

【问题讨论】:

    标签: xamarin.forms xamarin.android


    【解决方案1】:

    有什么区别?这是否意味着应用只使用了 510kb 但一般分配了 1.5mb?

    分配的对象是自应用程序启动(或重置)以来已创建的所有对象。

    活动对象是那些未被垃圾收集器回收的对象。这可能包括无法访问的对象,并且肯定会包括应用程序仍在使用的对象。

    即使对象增长减少,大小增长也始终在增加。这是为什么呢?

    它确实一直在增加,但我认为它不是与之前的快照相比,而是与基线相比,这就是为什么它总是积极的。您可以尝试将这些Size Growth 值与snapshot 1 的值进行比较,如下图所示:

    更新:

    工作集:指进程使用的总物理内存(RAM)。你可以参考我的回答:

    What is the normal memory-ram size?(xamarin)

    【讨论】:

    • 在 xamarin 大学视频中他们说工作集是应用程序使用的实际内存,这是真的吗?即使我从页面弹出,它也总是会增加。
    • @batmaci,据我了解,是的。
    猜你喜欢
    • 2020-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2018-12-18
    • 2022-06-14
    • 1970-01-01
    相关资源
    最近更新 更多