私の調査によると、一般的な経験則は GC をいじらないことです (つまり、GC.Collect() を呼び出さないでください)。巨大な XML ドキュメントを処理するサーバー ベースのプロセスがあり、メモリが解放されることはありません。コードは次のようになります。
while (!abort)
{
mutex.WaitOne();
//sets abort to true to end the process itself
DoSomeWork();
mutex.ReleaseMutex();
}
DoSomeWork() の実行後、メモリは決して解放されません。これは、GC がそのことを行うための「単独の時間」を取得していないために発生していますか? DoSomeWork() の後に GC.Collect を呼び出して GC を強制する必要がありますか?
ありがとう