GC.AddMemoryPressure(Int64) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.