概要
http://mzs184.blogspot.jp/2008/01/gc.htmlより抜粋 * ガベージコレクションは、あくまでも new したオブジェクトを解放してくれるもの => ファイルリソースやネットワーク接続リソースについては、Disposeなどで、 明示的に解放する処理を記述する必要があるhttp://www.atmarkit.co.jp/fdotnet/dotnettips/021gc/gc.html
より抜粋 * ガベージ・コレクタはシステムが必要とした場合には随時実行されるので、 完全に意図的にコントロールすることはできない。 * 基本的には、ガベージ・コレクションは、意識的に操作するものではなく、システムに任せるもの。
欠点
* パフォーマンスが悪い(理由は、後述を参照) => むやみにやるべきではないhttp://msdn.microsoft.com/ja-jp/library/ms998547.aspx
より ■ GC.Collect の呼び出しを避ける => すべてのオブジェクトに接触しなければならなくなるため、大きな負担が発生する
強制的にGCを行う
サンプル
http://msdn.microsoft.com/ja-jp/library/ms998547.aspxより抜粋
// アクセス不可能なオブジェクトを除去 System.GC.Collect(); // ファイナライゼーションが終わるまでスレッド待機 System.GC.WaitForPendingFinalizers(); // ファイナライズされたばかりのオブジェクトに関連するメモリを開放 System.GC.Collect();
参考文献
http://ch.cri-mw.co.jp/hirase/55337.htmlhttp://msdn.microsoft.com/ja-jp/library/system.gc.waitforpendingfinalizers.aspx