被动回收

更新:2007 年 11 月

在大多数情况下,垃圾回收器可以确定执行回收的最佳时间,应让其独立运行。在某些不常发生的情况下,强制回收可以提高应用程序的性能。在这些情况下,可使用 Collect 方法强制垃圾回收,以引发垃圾回收。

当应用程序代码中某个确定的点上使用的内存量大量减少时,请使用 Collect 方法。例如,如果应用程序使用包含若干个控件的复杂对话框,则在对话框关闭时调用 Collect 可能会通过立即回收内存来提高性能。务必确保应用程序不会过于频繁地引发垃圾回收,否则当垃圾回收器无效率地尝试回收对象时,可能会使性能降低。Optimized 模式使垃圾回收器可以根据收集是否有效率来确定是否进行回收。

GC 回收模式

可以使用 GC.Collect 方法重载,它使用 GCCollectionMode 值指定强制回收的行为,如下表所述。

成员

说明

Default

使用指定的设置作为正在运行的 .NET Framework 版本的默认垃圾回收配置。

Forced

强制立即执行垃圾回收。这等效于调用 GC.Collect()

Optimized

使垃圾回收器可以确定当前时间是否是回收对象的最佳时间。

垃圾回收器可能判定收集效率不够高,因此收集不合理,在这种情况下将返回而不回收对象。

请参见

概念

滞后时间模式

其他资源

垃圾回收