CoreDispatcher.RunIdleAsync(IdleDispatchedHandler) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.