Sdílet prostřednictvím


GC.RemoveMemoryPressure(Int64) Metoda

Definice

Informuje modul runtime, že nespravovaná paměť byla uvolněna a již není nutné ji brát v úvahu při plánování uvolňování paměti.

public:
 static void RemoveMemoryPressure(long bytesAllocated);
[System.Security.SecurityCritical]
public static void RemoveMemoryPressure (long bytesAllocated);
public static void RemoveMemoryPressure (long bytesAllocated);
[<System.Security.SecurityCritical>]
static member RemoveMemoryPressure : int64 -> unit
static member RemoveMemoryPressure : int64 -> unit
Public Shared Sub RemoveMemoryPressure (bytesAllocated As Long)

Parametry

bytesAllocated
Int64

Množství nespravované paměti, která byla uvolněna.

Atributy

Výjimky

bytesAllocated je menší než nebo rovno 0.

-nebo-

Na 32bitovém počítači bytesAllocated je větší než Int32.MaxValue.

Poznámky

Při určování, kdy naplánovat uvolňování paměti, modul runtime bere v úvahu, kolik spravované paměti je přiděleno. Pokud malý spravovaný objekt přidělí velké množství nespravované paměti, modul runtime bere v úvahu pouze spravovanou paměť, a proto podceňuje naléhavost plánování uvolňování paměti. Metoda AddMemoryPressure informuje modul runtime o tomto dalším tlaku na systémovou paměť a RemoveMemoryPressure metoda informuje modul runtime, že další tlak byl uvolněn.

Metody AddMemoryPressure a RemoveMemoryPressure zlepšují výkon pouze pro typy, které závisí výhradně na finalizačních metodách pro uvolnění nespravovaných prostředků. Tyto metody není nutné používat v typech, které se řídí vzorem dispose, kde finalizační metody slouží k vyčištění nespravovaných prostředků pouze v případě, že příjemce typu zapomene volat Dispose. Další informace o finalizaci objektů a vzoru dispose naleznete v tématu Čištění nespravovaných prostředků.

V nejjednodušším vzoru použití přidělí spravovaný objekt nespravovanou paměť v konstruktoru a uvolní ji v Finalize metodě . AddMemoryPressure Volání metody po přidělení nespravované paměti a volání RemoveMemoryPressure metody po jejím uvolnění.

Ve složitějších scénářích, kdy se přidělení nespravované paměti v průběhu doby života spravovaného objektu podstatně změní, můžete volat AddMemoryPressure metody a RemoveMemoryPressure , které tyto přírůstkové změny sdělí modulu runtime.

Upozornění

Musíte zajistit, abyste odstranili přesně takový tlak, který přidáte. Pokud to neuděláte, může to nepříznivě ovlivnit výkon systému v aplikacích, které běží po dlouhou dobu.

Platí pro