Sprache

DispatchSource.MemoryPressure Klasse

Definition

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

public class DispatchSource.MemoryPressure : CoreFoundation.DispatchSource
type DispatchSource.MemoryPressure = class
    inherit DispatchSource
Vererbung

Hinweise

Ein erhöhter Arbeitsspeicherdruck ist eine systemweite Bedingung, auf die Anwendungen reagieren sollten, die für diese Quelle registriert sind, indem sie ihr zukünftiges Speichernutzungsverhalten ändern, z. B. durch Verringern der Cachegrößen neu initiierter Vorgänge, bis der Speicherdruck wieder in die Normale zurückkehrt.

Anwendungen sollten jedoch vorhandene Caches für vergangene Vorgänge nicht durchlaufen und verwerfen, wenn der Systemspeicherdruck in einen erhöhten Zustand wechselt, da dies wahrscheinlich VM-Vorgänge auslöst, die den Systemspeicherdruck weiter verschlimmern.

var dispatchSource = new DispatchSource.MemoryPressure (
    MemoryPressureFlags.Critical | MemoryPressureFlags.Warn | MemoryPressureFlags.Normal, 
    DispatchQueue.MainQueue);

dispatchSource.SetRegistrationHandler (() => {
    Console.WriteLine ("Memory monitor registered");
});

dispatchSource.SetEventHandler (() => {
    var pressureLevel = dispatchSource.PressureFlags;
    Console.WriteLine ("Memory worning of level: {0}", pressureLevel);
    dispatchSource.Cancel ();
});

dispatchSource.SetCancelHandler (() => {
    Console.WriteLine ("Memory monitor cancelled");
});

dispatchSource.Resume ();

Konstruktoren

Name Beschreibung
DispatchSource.MemoryPressure(IntPtr, Boolean)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

DispatchSource.MemoryPressure(IntPtr)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

DispatchSource.MemoryPressure(MemoryPressureFlags, DispatchQueue)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

Eigenschaften

Name Beschreibung
Handle

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
IsCanceled

Ermitteln Sie, ob die angegebene Quelle abgebrochen wurde.

(Geerbt von DispatchSource)
Owns

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
PressureFlags

Meldet die beobachtete Bedingung.

Methoden

Name Beschreibung
Activate()

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DispatchObject)
Cancel()

Bricht die Verteilerquelle asynchron ab.

(Geerbt von DispatchSource)
ClearHandle()

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
Dispose()

Gibt alle von diesem Objekt verwendeten Ressourcen frei.

(Geerbt von DisposableObject)
Dispose(Boolean)

Gibt die vom DispatchSource-Objekt verwendeten Ressourcen frei.

(Geerbt von DispatchSource)
Equals(Object)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
GetCheckedHandle()

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
GetHashCode()

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
InitializeHandle(NativeHandle)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DisposableObject)
Release()

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DispatchObject)
Resume()

Setzt die Verteilerquelle fort.

(Geerbt von DispatchSource)
Retain()

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DispatchObject)
SetCancelHandler(Action)

Stellt einen Abbruchhandler bereit.

(Geerbt von DispatchSource)
SetEventHandler(Action)

Es wurde ein Handler angegeben, der ausgeführt werden soll, wenn Ereignisse in der Verteilerquelle empfangen werden.

(Geerbt von DispatchSource)
SetRegistrationHandler(Action)

Stellt einen Registrierungshandler bereit.

(Geerbt von DispatchSource)
SetTargetQueue(DispatchQueue)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

(Geerbt von DispatchObject)
Suspend()

Hält die Verteilerquelle an.

(Geerbt von DispatchSource)

Erweiterungsmethoden

Name Beschreibung
GetHandle(INativeObject)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

GetNonNullHandle(INativeObject, String)

Quellen dieses Typs überwachen die Systemspeicherdruckbedingung auf Zustandsänderungen.

Gilt für: