GC.RemoveMemoryPressure(Int64) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.