5

私はかなりシンプルなSilverlightアプリケーションを持っています。最近は、数時間使用した後にアプリケーションのユーザーからの報告がクラッシュしています(4+)。我々はアプリケーションを掘り起こし始め、アプリケーションによって使用されている未管理のメモリの部分が非常に高くなり、未検査のまま増加し続けていることに気付きました。他のヒープはうまく管理されているようです。私は多くの研究を行い、アプリケーションからすべてのイメージを遠くに取り去ってしまい、管理されていないメモリが増え続けています。Silverlightアプリケーションで管理されていないメモリを使用するのはなぜですか?

この時点で、私のアプリケーションで管理されていないすべてのメモリを正確に消費していることと、それについて何ができるのか混乱しています。ここでは、最初のロード後のアプリケーションのスナップショットを示します。これは、100MBを超える未管理メモリスペースをすでに使用していることがわかるためです。私はここで、オブジェクトが管理されていないメモリにある可能性があることと、アプリケーションが使用している管理されていないメモリの量を減らすために何を行うべきかについてのガイダンスを探しています。ありがとう!

Ants Memory Snapshot

私は、.NETメモリプロファイラを使用して別のスナップショットまたは2を撮影したのだが、カーネルHeapMemory最大のチャンクであることが表示されます。これが大いに役立つかどうか分かりませんが、とにかく投稿すると思いました。

enter image description here

+0

SilverlightアプリケーションにWebBrowserコンポーネントが埋め込まれていますか? – kol

+0

WebBrowserコントロールを使用していません。 –

+0

WriteableBitmapsをたくさん作成することはありませんか? –

答えて

1

あなたがCLR Profiler for Silverlightを試してみましたか?私はメモリの問題をトラブルシューティングするためにこれまでいくつかの成功を収めています。

+0

これはまともなツールのように見えますが、管理されていないメモリのプロファイリングにはあまり役に立ちません。私は私のアプリの管理された部分には何の問題もないようです。なぜ私はそれが管理されていないメモリをますます消費し続けているのか理解できないようです。 –

+0

*管理されていない*メモリの問題点については良い点があります。 –

関連する問題