Sdílet prostřednictvím


GC.AddMemoryPressure(Int64) Metoda

Definice

Informuje modul runtime o velkém přidělení nespravované paměti, které je třeba vzít v úvahu při plánování uvolňování paměti.

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

Přírůstkové množství nespravované paměti, která byla přidělena.

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ěť.

Metody AddMemoryPressure a RemoveMemoryPressure zlepšují výkon pouze u typů, které při uvolňování nespravovaných prostředků závisejí výhradně na finalizátorech. Tyto metody není nutné používat v typech, které se řídí vzorem Dispose, kde finalizátory slouží k vyčištění nespravovaných prostředků pouze v případě, že příjemce typu zapomene volat Dispose. Další informace o dokončení objektu a způsobu odstranění najdete v tématu Čištění nespravovaných prostředků.

V nejjednodušším vzoru použití spravovaný objekt přidělí 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 během životnosti 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