GC.RemoveMemoryPressure(Int64) Metoda

Definicja

Informuje środowisko uruchomieniowe o zwolnieniu niezarządzanej pamięci i nie musi już być brane pod uwagę podczas planowania odzyskiwania pamięci.

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

Ilość pamięci niezarządzanej, która została zwolniona.

Atrybuty

Wyjątki

bytesAllocated wartość jest mniejsza lub równa 0.

-lub-

Na komputerze bytesAllocated 32-bitowym jest większy niż Int32.MaxValue.

Uwagi

Podczas określania, kiedy zaplanować odzyskiwanie pamięci, środowisko uruchomieniowe uwzględnia ilość pamięci zarządzanej. Jeśli mały obiekt zarządzany przydziela dużą ilość niezarządzanej pamięci, środowisko uruchomieniowe uwzględnia tylko zarządzaną pamięć, a tym samym nie uwzględnia pilności planowania odzyskiwania pamięci. Metoda AddMemoryPressure informuje środowisko uruchomieniowe o tym dodatkowym nacisku na pamięć systemową, a RemoveMemoryPressure metoda informuje środowisko uruchomieniowe o zwolnieniu dodatkowego ciśnienia.

Metody AddMemoryPressure i RemoveMemoryPressure zwiększają wydajność tylko w przypadku typów, które są wyłącznie zależne od finalizatorów w celu zwolnienia niezarządzanych zasobów. Nie trzeba używać tych metod w typach, które są zgodne ze wzorcem usuwania, gdzie finalizatory są używane do czyszczenia niezarządzanych zasobów tylko w przypadku, gdy użytkownik typu zapomni wywołać metodę Dispose. Aby uzyskać więcej informacji na temat finalizacji obiektów i wzorca usuwania, zobacz Czyszczenie zasobów niezarządzanych.

W najprostszym wzorcu użycia obiekt zarządzany przydziela niezarządzaną pamięć w konstruktorze i zwalnia go w metodzie Finalize . Wywołaj metodę AddMemoryPressure po przydzieleniu niezarządzanej pamięci i wywołaj metodę RemoveMemoryPressure po jej zwolnieniu.

W bardziej skomplikowanych scenariuszach, w których alokacja niezarządzanej pamięci zmienia się znacząco w okresie istnienia zarządzanego obiektu, można wywołać AddMemoryPressure metody i RemoveMemoryPressure w celu przekazania tych przyrostowych zmian do środowiska uruchomieniowego.

Przestroga

Należy upewnić się, że usuwasz dokładnie ilość dodanego ciśnienia. Wykonanie tej czynności może niekorzystnie wpłynąć na wydajność systemu w aplikacjach działających przez długi czas.

Dotyczy