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 事件消息队列中没有挂起的事件消息,它就可以继续处理。 如果应用在队列中收到事件消息,则必须中断后台处理。 若要确定应用何时必须退出后台处理,请访问由提供给 RunIdleAsyncIdleDispatchedHandler 回调返回 的 IdleDispatchedHandlerArgs 对象的 IsDispatcherIdle 属性。 如果有消息,请退出后台处理,并将优先级设置为 CoreDispatcherPriority.Normal。 否则,如果回调继续运行而不检查调度程序状态,则可能导致输入不足。

适用于

另请参阅