WPF で wpf データ グリッド コントロールから継承されたカスタム データ グリッド コントロールを作成しました。
したがって、ユーザーがデータベースにクエリを実行すると、数百のレコードがそれぞれ 15 ~ 20 列で返されます。
画面を制御すると、この画面とそのグリッドに割り当てられているすべてのメモリが GC によって再利用されるべきだと私は信じていました。しかし、そうではありません。
Red Gate の Memory Profiler でアプリケーションをテストしていたところ、画面を開くと 30 MB のメモリが割り当てられていることが示されました。
しかし、この画面を閉じると、アプリケーションはどういうわけかまだそのメモリを保持しています.antメモリプロファイラで理由を調べていると、カスタムデータグリッドのために画面のインスタンスがまだメモリ内にあることがわかります.
ユーザー コントロールに unload イベントを追加し、プロセス中にアタッチしたすべてのイベント ハンドラーを切り離しました。
私は何を見逃して、何をすべきですか?