2017-12-07 6 views
0

私は実際に私のアプリの実際の消費を把握しようとしている私はものを観察するためのサンプルアプリケーションを作成しました。しかし、私はxamarinプロファイラの結果を理解できません。Xamarinがプロファイラを形成する - 実際のメモリ消費量はいくらですか?サイズ成長は常に肯定的?

以下のスクリーンショットは、メモリが1,5MBに割り当てられていることを示していますが、ライブオブジェクトだけをクリックすると510KBが表示されます。違いはなんですか?アプリは510kbしか使用していませんが、一般的には1,5mbを割り当てていますか?より大きなアプリでは、この差はより重要です。私のアプリケーションでは、ライブオブジェクトのみが10MBの場合、最大200MBのメモリ割り当てが表示されます。それは大きな違いです。一方

enter image description here

enter image description hereは、xamarinはそのスナップショットを取るとの違いを比較すると言います。言われたように、私はそれを好きでしたが、結果は私にとっては明らかではありません。サイズ成長は、オブジェクトの成長が減少しても常に増加しています。何故ですか?アプリケーションは非常に基本的なもので、2ページあり、スナップショット2とスナップショット3は、ページ2をページ1にポップした後に撮影されます。

更新日:

ここで拡張質問があります。イメージに示されているように「Only Live Objects」をクリックすると、Memory Allocated 9,5mbが表示されます。ライブオブジェクトであれば、これはマネージコードによる現在のメモリ使用量であると私は理解していますか?本当?

enter image description here

enter image description here

答えて

1

違いは何ですか?アプリは510kbしか使用していませんが、一般的には1.5MBを割り当てていますか?

割り当てられたオブジェクトはすべて、アプリケーションの起動(またはリセット)後に作成されたオブジェクトです。

ライブオブジェクトは、ガベージコレクタによって再要求されていないオブジェクトです。これには到達できないオブジェクトが含まれている可能性があり、アプリケーションによってまだ使用されているオブジェクトが確実に含まれます。

サイズの増加は、オブジェクトの増加が少なくても常に増加しています。何故ですか?

これは以前のスナップショットと比較されず、ベースラインと比較されているため、常にポジティブな理由です。あなたは、次の図に示すように、snapshot 1の値でこれらSize Growth値を比較してみてください:

enter image description here

更新:

ワーキングセット:使用された全物理メモリ(RAM)を指し、プロセスによって。あなたは私の答えを参照することができます:彼らはワーキングセットがアプリで使用される実際のメモリであると言うxamarin大学の映像に

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

+0

、それは本当ですか?私はページからポップしても、常に私のために増加します。 – batmaci

+0

@batmaci、私は私の答えを更新しています、それを確認してください。 –

+0

更新された質問をご覧になれますか? – batmaci

関連する問題