GC.RemoveMemoryPressure(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, že nespravovaná paměť byla uvolněna a již není nutné ji brát v úvahu při plánování uvolňování paměti.
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
Množství nespravované paměti, která byla uvolněna.
- 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ěť a RemoveMemoryPressure metoda informuje modul runtime, že další tlak byl uvolněn.
Metody AddMemoryPressure a RemoveMemoryPressure zlepšují výkon pouze pro typy, které závisí výhradně na finalizačních metodách pro uvolnění nespravovaných prostředků. Tyto metody není nutné používat v typech, které se řídí vzorem dispose, kde finalizační metody slouží k vyčištění nespravovaných prostředků pouze v případě, že příjemce typu zapomene volat Dispose
. Další informace o finalizaci objektů a vzoru dispose naleznete v tématu Čištění nespravovaných prostředků.
V nejjednodušším vzoru použití přidělí spravovaný objekt 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 v průběhu doby života 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.