CoreDispatcher.RunIdleAsync(IdleDispatchedHandler) 方法

定義

從處於閒置優先順序的背景工作執行緒排程 UI 執行緒上的回呼,並以非同步方式傳回結果。

public:
 virtual IAsyncAction ^ RunIdleAsync(IdleDispatchedHandler ^ agileCallback) = RunIdleAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncAction RunIdleAsync(IdleDispatchedHandler const& agileCallback);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RunIdleAsync(IdleDispatchedHandler agileCallback);
function runIdleAsync(agileCallback)
Public Function RunIdleAsync (agileCallback As IdleDispatchedHandler) As IAsyncAction

參數

agileCallback
IdleDispatchedHandler

在分派事件時,閒置優先順序發送器傳回的回呼。

傳回

物件,其中包含非同步動作的結果。

屬性

備註

RunIdleAsync 方法與 CoreDispatcher.RunAsync非常類似,不同之處在于它一律會排程 CoreDispatcherPriority.Low 優先順序的工作專案。 當您從背景工作執行緒呼叫 RunIdleAsync 來排程工作專案時,只有在佇列中沒有擱置的事件訊息時,才會處理工作專案。 這可讓您的應用程式在系統閒置時執行拼字檢查或其他離散處理等工作。 如果回呼傳回的 IdleDispatchedHandler 委派已將 IsDispatcherIdle 屬性設定為 false,工作專案就會立即結束背景處理,直到事件佇列再次空白為止。

不過,當您的應用程式正在處理背景工作時,只要 CoreDispatcher 事件訊息佇列中沒有擱置的事件訊息,就可以繼續處理。 如果您的應用程式在佇列中收到事件訊息,則必須中斷背景處理。 若要判斷應用程式何時必須結束背景處理,請在您提供給 RunIdleAsync 的IdleDispatchedHandlerArgs 物件上存取 IdleDispatchedHandlerArgs物件上的IsDispatcherIdle屬性。 如果有訊息,請結束背景處理,並將優先順序設定為 CoreDispatcherPriority.Normal。 否則,如果回呼繼續執行而不檢查發送器狀態,可能會導致輸入耗盡。

適用於

另請參閱