基本的にシステムトレイに存在する小さなアプリケーションを作成しました。ユーザーは実際のアプリケーションを開く必要がある場合はほとんどありません。問題は、ユーザーが初めてアプリケーションを開くと、メモリが大量のデータ (データグリッド、ツリービューなどの WPF UI) でいっぱいになることです。しかしその後、ユーザーはアプリケーションを再び最小化して、ほとんどの時間そこにとどまります。常にアクセスできる唯一の UI は、トレイ アイコンのコンテキスト メニューです。
ここに問題があります:アプリケーションが最小化されるたびにUI全体を破棄するにはどうすればよいですか? WPF でいくつかのことを試しましたが、WPF が UI オブジェクトへの参照を保持しているため、UI オブジェクトを取り除くことはできません。
私が気に入っているのは: アプリケーションを開く (UI がロードされた) --> トレイに最小化 --> UI 全体が破棄され、残っているメモリはビジネス ロジックによって使用されるメモリだけです... 次回アプリケーションがトレイから開かれるとき: UI 全体再建されます。
事前にどうもありがとうございました!