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.

C#
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncAction RunIdleAsync(IdleDispatchedHandler agileCallback);

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 à

Produit Versions
WinRT Build 10240, Build 10586, Build 14383, Build 15063, Build 16299, Build 17134, Build 17763, Build 18362, Build 19041, Build 20348, Build 22000, Build 22621, Build 26100

Voir aussi