被动回收

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

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

GC 回收模式

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

成员

说明

Default

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

Forced

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

Optimized

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

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

请参见

概念

滞后时间模式

垃圾回收