2016-04-29 12 views
1

私はWindows Phone Appを作成し、メモリの問題に直面しています。それはあまりにも多くのメモリを使用しているため、アプリケーションが終了します。Windows Phone Appでメモリの問題を解決する方法

どのようなメモリが使用されているか、どの変数がほとんどのメモリを消費しているかなどを調べました。 私はメモリプロファイリングを行い、2分間激しくアプリを使用すると150 MBを超えるしたがって閉じます。

しかし、どの変数がメモリを消費しているのかわかりません。または、そのイメージがメモリを消費している場合私は変数appviewmodelを持っていると私の推測は大きすぎる可能性がありますが、私はこれを確認したい。どのようにこの変数が使用しているメモリ量を調べることができますか?

+0

オブジェクトが存在する理由と存在しない理由を理解する必要があります。 https://www.yourkit.com/docs/80/help/memory_leaks.jsp –

答えて

2

ビッグメモリ・ホールは、大きなファイルや小さなデータの大きなループから通常来ます。ガベージコレクタを使用すると、実際にはメモリホールはもう使用されませんが、GCはまだ使用中の変数をクリーンアップしないため、メモリフッテージを簡単に取得できます。これは、複数のオブジェクトの循環参照でも起こる可能性があります。

したがって、リリースしていないオブジェクトの参照については、コードを確認する必要があります。

1つのことは、Windows Phone 8にビットマップメモリ​​リークがあったことです。だからこのquestionsのようにあなたのイメージをきれいにする必要があります。これが私が覚えていることなのかどうかは分かりません。

1

あなたは.csファイルからのBitmapImageを作成する場合は、常にこのようなピクセルの高さ/幅をデコード:

BitmapImage bmp= new BitmapImage("ImageUrl"); 
bmp.DecodePixelHeight = 150;//image control size 
bmp.DecodePixelWidth = 150; 

それは違いを作ります!

関連する問題