Quelles sont les différences / avantages / inconvénients entre l'utilisation de Activity.runOnUiThread
ou Handler.post(runnable action)
dans Android?
Réponse
Trop de publicités?De l'activité.runOnUiThread, comme son nom l'indique, va exécuter l'Exécutable dans le fil qui est actuellement responsable de l'INTERFACE utilisateur. Donc, si vous avez un CPU intensive de la tâche, il peut rendre l'INTERFACE ne répond pas pour une courte période de temps. À l'inverse, Gestionnaire fournit un moyen pour vous de créer un thread, exécuter du code, et de l'informer de l'INTERFACE utilisateur lorsque vous avez terminé (j'.e Gestionnaire.sendMessage).
Les docs pour le Gestionnaire d'état mieux que je peux:
Lorsqu'un processus est créé pour votre application, son thread principal est dédié à l'exécution d'une file d'attente de messages qui prend soin de la gestion de la haut niveau les objets de l'application (les activités, les récepteurs de radiodiffusion, etc) et toutes les fenêtres qu'ils créent. Vous pouvez créez votre propre fils, et communiquer avec les principaux thread d'application par l'intermédiaire d'un Gestionnaire. Cela se fait en appelant le même post ou sendMessage méthodes comme avant, mais à partir de votre nouveau thread. Le Exécutable ou un Message sera prévue dans le Gestionnaire de message la file d'attente et traitées le cas échéant.