語言

DispatchSource.MemoryPressure 類別

定義

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

public class DispatchSource.MemoryPressure : CoreFoundation.DispatchSource
type DispatchSource.MemoryPressure = class
    inherit DispatchSource
繼承

備註

記憶體壓力升高是一種系統性狀況,註冊於此來源的應用程式應透過改變未來記憶體使用行為來回應,例如減少新啟動操作的快取大小,直到記憶體壓力恢復正常。

然而,當系統記憶體壓力進入升高狀態時,應用程式不應遍歷並捨棄現有快取以執行過去操作,因為這很可能會觸發虛擬機操作,進一步加劇系統記憶體壓力。

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

建構函式

名稱 Description
DispatchSource.MemoryPressure(IntPtr, Boolean)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

DispatchSource.MemoryPressure(IntPtr)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

DispatchSource.MemoryPressure(MemoryPressureFlags, DispatchQueue)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

屬性

名稱 Description
Handle

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
IsCanceled

確認指定的來源是否已被取消。

(繼承來源 DispatchSource)
Owns

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
PressureFlags

報告所觀察到的狀況。

方法

名稱 Description
Activate()

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DispatchObject)
Cancel()

非同步取消派遣來源。

(繼承來源 DispatchSource)
ClearHandle()

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
Dispose()

釋放此物件所使用的所有資源。

(繼承來源 DisposableObject)
Dispose(Boolean)

釋放 DispatchSource 物件所使用的資源。

(繼承來源 DispatchSource)
Equals(Object)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
GetCheckedHandle()

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
GetHashCode()

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
InitializeHandle(NativeHandle)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DisposableObject)
Release()

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DispatchObject)
Resume()

調度來源繼續。

(繼承來源 DispatchSource)
Retain()

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DispatchObject)
SetCancelHandler(Action)

提供取消處理程序

(繼承來源 DispatchSource)
SetEventHandler(Action)

指定一個處理程序,當派遣來源收到事件時執行。

(繼承來源 DispatchSource)
SetRegistrationHandler(Action)

提供註冊處理程序

(繼承來源 DispatchSource)
SetTargetQueue(DispatchQueue)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

(繼承來源 DispatchObject)
Suspend()

暫停調度來源。

(繼承來源 DispatchSource)

擴充方法

名稱 Description
GetHandle(INativeObject)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

GetNonNullHandle(INativeObject, String)

此類來源會監控系統記憶體壓力狀態以觀察狀態變化。

適用於