Xamarin形成探查 - 什么是真正的内存消耗? 规模增长始终为正?(Xamarin form

2019-10-30 04:20发布

我试图找出我的应用程序的实际消费量为我创建示例应用来观察事物。 但我不能够理解从xamarin探查的结果。

下面的截图显示了内存分配1,5MB但是当我点击只活物,它显示了510KB。 有什么区别? 这是否意味着应用程序只能使用510KB但总体分配1,5MB? 在一个大的应用中这种差异更为显著。 在我的应用我看到内存分配高达200MB时,只住对象为10MB。 这是巨大的差异。

在另一方面,xamarin说,拍摄快照和比较的差异。 诚如,我也就是这样,但结果并不清楚我。 规模增长总是不断增加,即使对象增长减少。 这是为什么? 应用程序是很基本的,有2页,快照2快照3弹出2页第1页。怎样才可以说尺寸的增长越来越大。如果我弹出一个页面后进行?

更新:

这里的扩展问题。 当我点击“只实时对象”为显示的图像,它会显示内存分配9,5mb。 如果他们是活的对象,我明白,这是由托管代码当前内存使用量最少? 真的吗?

Answer 1:

有什么区别? 这是否意味着应用程序只能使用510KB但总体分配1.5MB?

分配对象是因为应用程序启动已创建(或复位)的所有对象。

活动对象是尚未开垦被垃圾收集的对象。 这可能包括不可达的对象,肯定会包括仍处于由应用程序使用的对象。

规模增长总是不断增加,即使对象增长减少。 这是为什么?

它没有增加所有的时间,但我认为这是不符合先前的快照相比,用基线相比,这就是为什么它总是积极的。 你可以尝试比较这些Size Growth与价值snapshot 1的值,如下图所示:

更新:

工作集 :指的是通过该过程中使用的总物理存储器(RAM)。 你可以参考我的答案:

什么是正常的内存RAM容量?(xamarin)



文章来源: Xamarin forms profiler - what is the real memory consumption? Size Growth always positive?