発生したコレクション

更新 : 2007 年 11 月

ほとんどの場合、コレクションの実行に最適なタイミングはガベージ コレクタが判断できるので、ガベージ コレクタに任せるのが良い方法です。ただし、ごくまれに、強制的にコレクションを実行するとアプリケーションのパフォーマンスが向上する場合があります。このような場合は、Collect メソッドを使用してガベージ コレクションを強制的に実行できます。

アプリケーションのコードの特定の位置で、使用しているメモリ量が大きく減少する場合は、Collect メソッドを使用します。たとえば、複数のコントロールのある複雑なダイアログ ボックスを使用するアプリケーションでは、ダイアログ ボックスを閉じるときに Collect を呼び出すと、メモリが直ちに再利用されてパフォーマンスが向上する可能性があります。効果が小さいのにガベージ コレクタがオブジェクトの再利用を試みるとパフォーマンスが低下する場合があるので、アプリケーションではあまり頻繁にガベージ コレクションを強制しないでください。Optimized モードを使用すると、ガベージ コレクタは、コレクションの効果があるかどうかに基づいて、コレクションを実行するかどうかを判断します。

GC コレクション モード

次の表で説明するように、GCCollectionMode 値を受け取る GC.Collect メソッド オーバーロードを使用して、強制的コレクションの動作を指定できます。

メンバ

説明

Default

実行中のバージョンの .NET Framework で既定のガベージ コレクション構成として指定されている設定を使用します。

Forced

直ちにガベージ コレクションを強制的に実行します。これは、GC.Collect() を呼び出すことと同じです。

Optimized

オブジェクトを再利用するのに現在が最適なときかどうかをガベージ コレクタが判断できるようにします。

ガベージ コレクタは、コレクションの実行を正当化できるほど効果がないと判断して、オブジェクトを再利用せずに戻る場合があります。

参照

概念

待機モード

その他の技術情報

ガベージ コレクション