Programmation concurrente

Programmation concurrente

Par défaut, un processus ne comprend qu’un seul thread, le thread principal. Tous les composants applicatifs s’exécutent dans ce thread. Afin de préserver l’expérience utilisateur, Android considère qu’une application est bloquée dès qu’elle ne répond plus pendant plus de dix secondes. L’utilisateur peut alors la détruire.

Pour éviter un tel blocage de l’application, tout traitement long, comme par exemple un téléchargement web ou un calcul intensif, doit s’effectuer dans un thread secondaire dédié, libérant le thread principal. Ce dernier peut donc se consacrer au fonctionnement global de l’application et à l’affichage de celle-ci, cette tâche s’effectuant obligatoirement dans le thread principal.

Il est possible de créer autant de threads secondaires que souhaité. Il est fortement conseillé de créer des threads plutôt que des processus, ces derniers étant de plus gros consommateurs de ressources.

Bien que non obligatoire, dans de nombreux cas, il peut être judicieux de créer des services pour y lancer des threads secondaires. En effet, le cas échéant, le système tuera prioritairement les processus comprenant des activités qui ne sont pas affichées à l’utilisateur ou des récepteurs d’événements sans activité...

Pour consulter la suite, découvrez le livre suivant :
couv_EI4AND.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Processus
Suivant
Sécurité et droits