Share via


発生したコレクション

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

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

GC コレクション モード

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

メンバー

説明

Default

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

Forced

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

Optimized

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

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

参照

概念

待機モード

その他の技術情報

ガベージ コレクション