Udostępnij za pośrednictwem


GC.AddMemoryPressure(Int64) Metoda

Definicja

Informuje środowisko uruchomieniowe dużej alokacji niezarządzanej pamięci, którą należy wziąć pod uwagę podczas planowania odzyskiwania pamięci.

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

Parametry

bytesAllocated
Int64

Przyrostowa ilość niezarządzanej pamięci, która została przydzielona.

Atrybuty

Wyjątki

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

-lub-

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

Uwagi

Podczas określania czasu planowania odzyskiwania pamięci środowisko uruchomieniowe uwzględnia ilość przydzielonej 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 docenia pilności planowania odzyskiwania pamięci. Metoda AddMemoryPressure informuje środowisko uruchomieniowe o tym dodatkowym nacisku na pamięć systemową.

Metody AddMemoryPressure i RemoveMemoryPressure zwiększają wydajność tylko dla typów, które zależą wyłącznie od finalizatorów, aby zwolnić niezarządzane zasoby. 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 niezarządzanych zasobów.

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 wydaniu.

W bardziej skomplikowanych scenariuszach, w których alokacja pamięci niezarządzanej 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

Musisz upewnić się, że usuwasz dokładnie ilość dodawanego ciśnienia. Nie można tego zrobić, może negatywnie wpłynąć na wydajność systemu w aplikacjach działających przez długi czas.

Dotyczy