質問

コンテキスト: WPFアプリケーションを迅速に配信するためのフレームワークを構築しています。このフレームワークは、AutofacをIoCコンテナーとして使用し、Prism v1のリージョンも使用します。 MicrosoftのParallel拡張機能を使用してタスクをスケジュールしています。

次の問題に直面しています。 空のビューでアプリケーションを起動すると(したがって、リージョンとプレースホルダーコントロールを備えたシェルのみ)、メモリは約60秒間安定したままになり、その後4 kbで約1秒ごとに増加し、その後8 kbで4 kbに増加します。したがって、3秒ごとに16Kbがメモリ負荷に追加されます。

リークの追跡を試みたもの。 最初はdotTraceを使用していましたが、30分間隔で撮影された2つのスナップショットに違いは見られませんでした。 .NETメモリプロファイラに移動しました。これは、より多くの情報を提供してくれますが、2つのスナップショットの違いを確認できないためです。 多数のオブジェクトが作成されますが、それらも削除され、デルタが0になることがわかります。 したがって、windbgに移動しましたが、結果は同じです。

別の奇妙なことは、sysinternals dbgvwを起動すると、アプリケーションで呼び出しが行われないことです。

次に犯人が何なのか、誰が犯人なのかを知るために、私たちが次に試みることの提案はありますか?

役に立ちましたか?

解決 2

判明したように、WPF内のバグであり、回避策はウィンドウハンドラーを最初のオブジェクトまたは何かとして作成することでした。 ありがとうございます

他のヒント

管理されていないリークを探しており、Visual Studioを使用している場合は、組み込みのcrt関数を使用して驚くほど役立つ情報を取得できます。

回答を参照関連する質問へ

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top