System.GC.Collect 方法 (Int32, GCCollectionMode)
方法描述
强制在 GCCollectionMode 值所指定的时间对零代到指定代进行垃圾回收。
语法定义(C# System.GC.Collect 方法 (Int32, GCCollectionMode) 的用法)
public static void Collect( int generation, GCCollectionMode mode )
参数/返回值
参数值/返回值 | 参数类型/返回类型 | 参数描述/返回描述 |
---|---|---|
generation | System-Int32 | 可执行垃圾回收的最早的代的编号。 |
mode | System-GCCollectionMode | GCCollectionMode 值之一。 |
返回值 | void |
提示和注释
使用 mode 参数指定是应该立即进行垃圾回收,还是只在回收对象的最佳时间进行垃圾回收。 使用此方法并不保证可以回收指定代中所有无法访问的内存。
若要调整应用程序中重要期间的垃圾回收的侵入性,请设置 LatencyMode 属性。
垃圾回收器不会回收代编号高于 generation 参数所指定代的对象。 使用 MaxGeneration 属性确定 generation 的最大有效值。
若要让垃圾回收器考虑所有对象而不管它们所在的代,请使用此方法的无参数版本。
若要让垃圾回收器在回收对象时一直回收到指定的对象代,请使用 GC.Collect(Int32) 方法重载。 如果指定最大代数,则将回收所有对象。
System.GC.Collect 方法 (Int32, GCCollectionMode)例子
下面的示例使用 Optimized 设置对第 2 代对象进行垃圾回收。
using System; class Program { static void Main(string[] args) { GC.Collect(2, GCCollectionMode.Optimized); } }
异常
异常 | 异常描述 |
---|---|
ArgumentOutOfRangeException |
|
版本信息
.NET Framework 受以下版本支持:4、3.5 SP1、3.0 SP1、2.0 SP1 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1
适用平台
Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。