Idioma

DispatchSource.MemoryPressure Classe

Definição

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

public class DispatchSource.MemoryPressure : CoreFoundation.DispatchSource
type DispatchSource.MemoryPressure = class
    inherit DispatchSource
Herança

Comentários

A pressão de memória elevada é uma condição em todo o sistema à qual os aplicativos registrados para essa fonte devem reagir alterando seu comportamento de uso de memória futuro, por exemplo, reduzindo os tamanhos de cache de operações recém-iniciadas até que a pressão de memória volte ao normal.

No entanto, os aplicativos não devem percorrer e descartar caches existentes para operações passadas quando a pressão de memória do sistema entra em um estado elevado, pois isso provavelmente disparará operações de VM que agravarão ainda mais a pressão de memória do sistema.

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 ();

Construtores

Nome Description
DispatchSource.MemoryPressure(IntPtr, Boolean)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

DispatchSource.MemoryPressure(IntPtr)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

DispatchSource.MemoryPressure(MemoryPressureFlags, DispatchQueue)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

Propriedades

Nome Description
Handle

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
IsCanceled

Determine se a origem especificada foi cancelada.

(Herdado de DispatchSource)
Owns

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
PressureFlags

Relata a condição observada.

Métodos

Nome Description
Activate()

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DispatchObject)
Cancel()

Cancela de forma assíncrona a fonte de expedição.

(Herdado de DispatchSource)
ClearHandle()

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
Dispose()

Libera todos os recursos usados por esse objeto.

(Herdado de DisposableObject)
Dispose(Boolean)

Libera os recursos usados pelo objeto DispatchSource.

(Herdado de DispatchSource)
Equals(Object)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
GetCheckedHandle()

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
GetHashCode()

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
InitializeHandle(NativeHandle)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DisposableObject)
Release()

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DispatchObject)
Resume()

Retoma a fonte de expedição.

(Herdado de DispatchSource)
Retain()

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DispatchObject)
SetCancelHandler(Action)

Fornece um manipulador de cancelamento

(Herdado de DispatchSource)
SetEventHandler(Action)

Especificado um manipulador a ser executado quando os eventos são recebidos na fonte de expedição.

(Herdado de DispatchSource)
SetRegistrationHandler(Action)

Fornece um manipulador de registro

(Herdado de DispatchSource)
SetTargetQueue(DispatchQueue)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

(Herdado de DispatchObject)
Suspend()

Suspende a origem da expedição.

(Herdado de DispatchSource)

Métodos de Extensão

Nome Description
GetHandle(INativeObject)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

GetNonNullHandle(INativeObject, String)

As fontes desse tipo monitoram a condição de pressão de memória do sistema para alterações de estado.

Aplica-se a