0

私は、メモリ リークのあるプロジェクト (MVP アーキテクチャ上に構築された) で作業しています。アプリケーションは、グリッドに表示されるレコードのリストで 1GB のメモリを使用しています。

1. DB からデータをロードするページを開く前 (メモリ使用量 = 400 MB) 2. ページを閉じるとき

ページを閉じるとき、メモリ使用量は同じまま (約 1 GB) ですが、少なくとも何かが減少するはずです (理想的には 400 MB に戻る必要がありますが、GC は常に制御できるとは限りません... できますか?)。私はこのようにプロセスのメモリ使用量を制御しようとしました:

Process.GetCurrentProcess().MaxWorkingSet = new IntPtr(1000000);

そして、私は別のものを使用するつもりです:

SetProcessWorkingSetSize(IntPtr handle, IntPtr min, IntPtr max)

しかし、さらにコードを最適化しようとしましたが、その方法がわかりません。私はすぐにこの投稿を多くのコードで編集します.-1しないでください...それ

4

1 に答える 1

1

オブジェクトがラージ オブジェクト ヒープ (LOH) に作成されているかどうかを確認します。イベントのサブスクリプションも確認してください。http://msdn.microsoft.com/en-us/magazine/cc534993.aspxを参照してください

于 2013-04-05T17:56:45.957 に答える