2012-04-17 9 views
1

私はメモリの性能解析を実行しましたが、それが発生した解析レポートは完全にはわかりません。警告は、 "System.Int32 [Instances of System.Int32 []は割り当ての80.90%を占めます。新しい割り当てまたはビジュアルのヒープサマリを分析します。"デコードウィンドウ電話メモリパフォーマンス分析レポート

このレポートには、14890 Int32インスタンスが73541684バイトのメモリを占有していることが示されています。私は15000の整数値がどのように70MBのメモリを取ることができるか理解していません。これは32ビットの整数です。私は何が欠けていますか?

アプリのメモリ使用量は、CPUプロファイリングセッションよりもメモリプロファイリングセッションのほうが多いですが、それはプロファイリングによって消費されるメモリのためです。

http://i.imgur.com/FI5My.png

答えて

0

あなたがInt32の〜15,000のインスタンスを持っていますが1536012バイトであり、平均サイズされている最大のうち(すなわちSystem.Int32[]Int32配列の〜15,000のインスタンスを持っていることを言っていません4,909バイトであり、これらは分析におけるすべてのメモリ割り当ての80.90%を占める。

+0

ありがとうございました。私はそれを逃したとは信じられません。今私は神の名前で誰が大規模な配列を作成しているかを把握しなければならない。 –

+0

いいえ心配しています:)私は、画像の読み込み/操作が始めるのに適していると思います。 – MrMDavidson

+0

@MrMDavidson:こんにちは。私もそのような問題を見つける。私はメディアライブラリから実行時にバックグラウンドイメージをロードしていると分析しました。また、120%以上の過剰配分があることがわかります。メモリプロファイリングはその問題を述べていません。メモリ消費量は20 MBに近いレベルです。私を混乱させます。どんな助け? – Uday0119