Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

GC.Collect-Methode: (Int32, GCCollectionMode, Boolean)

.NET Framework (current version)
 

Veröffentlicht: Oktober 2016

Erzwingt eine Garbage Collection von Generation 0 (null) bis zu einer angegebenen Generation, angegeben durch jeweils einen GCCollectionMode-Wert und mit einem Wert, der angibt, ob die Auflistung blockieren soll.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static void Collect(
	int generation,
	GCCollectionMode mode,
	bool blocking
)

Parameter

generation
Type: System.Int32

Die Anzahl der ältesten Generation, für die die Garbage Collection durchgeführt werden soll.

mode
Type: System.GCCollectionMode

Ein Enumerationswert, der angibt, ob die Garbage Collection erzwungen (GCCollectionMode.Default oder GCCollectionMode.Forced) oder optimiert wird (GCCollectionMode.Optimized).

blocking
Type: System.Boolean

true, um eine blockierende Garbage Collection auszuführen; false, um eine Garbage Collection im Hintergrund auszuführen, sofern möglich.

Exception Condition
ArgumentOutOfRangeException

generation ist nicht gültig.

- oder -

mode entspricht keinem der GCCollectionMode-Werte.

In der folgenden Tabelle wird die Interaktion von der mode und blocking Parameter:

mode

blocking ist gleich true.

blocking ist gleich false.

Forced oder Default

Eine blockierende Auflistung wird so schnell wie möglich ausgeführt. Wenn eine hintergrundauflistung ausgeführt wird und generation 0 oder 1, ist die Collect(Int32, GCCollectionMode, Boolean) Methode sofort löst eine blockierende Auflistung und gibt zurück, wenn die Auflistung abgeschlossen ist. Wenn eine hintergrundauflistung ausgeführt wird und generation 2 ist, wartet die Methode, bis die hintergrundauflistung beendet ist, eine blockierende Collection der Generation 2 löst und wechselt zurück.

Eine Auflistung wird so schnell wie möglich ausgeführt. Die Collect(Int32, GCCollectionMode, Boolean)-Methode fordert eine Hintergrundauflistung, ist jedoch nicht garantiert. Je nach den Umständen wird eine blockierende Auflistung möglicherweise weiterhin ausgeführt. Wenn eine Hintergrundauflistung bereits ausgeführt wird, gibt die Methode sofort zurück.

Optimized

Eine blockierende Auflistung kann ausgeführt werden, je nach Zustand des Garbage Collectors und des generation-Parameters. Der Garbage Collector versucht, eine optimale Leistung bereitzustellen.

Eine Auflistung kann ausgeführt werden, je nach Zustand des Garbage Collectors. Die Collect(Int32, GCCollectionMode, Boolean)-Methode fordert eine Hintergrundauflistung, ist jedoch nicht garantiert. Je nach den Umständen wird eine blockierende Auflistung möglicherweise weiterhin ausgeführt. Der Garbage Collector versucht, eine optimale Leistung bereitzustellen. Wenn eine Hintergrundauflistung bereits ausgeführt wird, gibt die Methode sofort zurück.

Wenn ein Aufruf von der Collect(Int32, GCCollectionMode, Boolean) Methode führt eine vollständige blockierende Garbagecollection, Sie können auch einen großen Objektheap komprimieren, durch Festlegen der GCSettings.LargeObjectHeapCompactionMode Eigenschaft, um GCLargeObjectHeapCompactionMode.CompactOnce vor dem Aufruf der Collect Methode.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 4.5
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Windows Phone Silverlight
Verfügbar seit 8.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: