DispatchSource.MemoryPressure 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此類來源會監控系統記憶體壓力狀態以觀察狀態變化。
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 |
|---|---|
| GetHandle(INativeObject) |
此類來源會監控系統記憶體壓力狀態以觀察狀態變化。 |
| GetNonNullHandle(INativeObject, String) |
此類來源會監控系統記憶體壓力狀態以觀察狀態變化。 |