C# でガベージ コレクションを強制するためのベスト プラクティス 質問する

C# でガベージ コレクションを強制するためのベスト プラクティス 質問する

私の経験では、ガベージ コレクションを強制するのは賢明ではないと言う人がほとんどですが、0 世代で必ずしも収集されない大きなオブジェクトを扱っていて、メモリが問題になるような場合には、強制的に収集しても問題ないのでしょうか。そうするためのベスト プラクティスはありますか。

ベストアンサー1

ベストプラクティスは、ガベージコレクションを強制しないことです。

MSDN によると:

「Collect を呼び出すことでガベージ コレクションを強制することは可能ですが、パフォーマンスの問題が発生する可能性があるため、ほとんどの場合、これを避ける必要があります。」

ただし、コードを確実にテストして、Collect() の呼び出しが悪影響を及ぼさないことを確認できる場合は、先に進んでください...

オブジェクトが不要になったら、必ずクリーンアップするようにしてください。カスタム オブジェクトがある場合は、「using ステートメント」と IDisposable インターフェイスの使用を検討してください。

このリンクには、メモリの解放やガベージ コレクションなどに関する実用的なアドバイスが記載されています。

マイクロソフト

おすすめ記事