Partage via


CoreDispatcher.RunIdleAsync(IdleDispatchedHandler) Méthode

Définition

Planifie un rappel sur le thread d’interface utilisateur à partir d’un thread worker à priorité d’inactivité et retourne les résultats de manière asynchrone.

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

Paramètres

agileCallback
IdleDispatchedHandler

Rappel sur lequel le répartiteur de priorité inactif retourne lorsque l’événement est distribué.

Retours

Objet qui contient les résultats de l’action asynchrone.

Attributs

Remarques

La méthode RunIdleAsync est très similaire à CoreDispatcher.RunAsync, sauf qu’elle planifie toujours l’élément de travail sur CoreDispatcherPriority.Low priority. Lorsque vous planifiez un élément de travail en appelant RunIdleAsync à partir d’un thread de travail, l’élément de travail est traité uniquement lorsqu’aucun message d’événement n’est en attente dans la file d’attente. Cela permet à votre application d’effectuer des tâches telles que l’case activée orthographique ou tout autre traitement discret lorsque le système est inactif. Si la propriété IsDispatcherIdle du délégué IdleDispatchedHandler retournée par le rappel a la valeur false, l’élément de travail quitte immédiatement le traitement en arrière-plan jusqu’à ce que la file d’attente d’événements soit à nouveau vide.

Toutefois, pendant que votre application traite une tâche en arrière-plan, elle peut continuer le traitement tant qu’aucun message d’événement n’est en attente dans la file d’attente des messages d’événements CoreDispatcher . Si votre application reçoit un message d’événement dans la file d’attente, elle doit sortir du traitement en arrière-plan. Pour déterminer quand votre application doit quitter le traitement en arrière-plan, accédez à la propriété IsDispatcherIdle sur l’objet IdleDispatchedHandlerArgs retourné par le rappel IdleDispatchedHandler que vous avez fourni à RunIdleAsync. S’il existe un message, quittez le traitement en arrière-plan et définissez la priorité sur CoreDispatcherPriority.Normal. Sinon, si le rappel continue de s’exécuter sans vérifier le répartiteur status, cela peut entraîner une insuffisance d’entrée.

S’applique à

Voir aussi