![]()
Je commence tout doucement à m'intéresser de plus près au développement sur Android, et même si je n'ai pas encore eu le temps de me plonger dans les spécificités de son API graphique, j'ai déjà pu remarquer qu'on y retrouve les mêmes concepts et les mêmes problèmes...
En effet, en parcourant le blog officiel des développeurs d'Android, je suis tombé sur un article de Romain Guy décrivant les problèmes de threading des applications Android.
Pour faire court : l'interface d'une application Android utilise un modèle mono-thread via l'UI-thread, et toute tâche un tant soit peu longue ne doit pas y être exécuter sous peine de bloquer l'interface utilisateur. Afin d'éviter cela on doit utiliser un nouveau thread, tout en continuant à mettre à jour l'affichage dans l'UI-thread afin de respecter le modèle mono-thread. On peut utiliser pour cela la classe AsynTask qui permet de simplifier toutes ces interactions entre threads...
Pour l'analogie : l'interface d'une application AWT/Swing utilise un modèle mono-thread via l'Event Dispatch Thread (EDT), et toute tâche un tant soit peu longue ne doit pas y être exécuter sous peine de bloquer l'interface utilisateur. Afin d'éviter cela on doit utiliser un nouveau thread, tout en continuant à mettre à jour l'affichage dans l'EDT afin de respecter le modèle mono-thread. On peut utiliser pour cela la classe SwingWorker qui permet de simplifier toutes ces interactions entre threads...
Et pour l'anedocte : on retrouve sur developpez.com un viel article de Romain concernant ce problème sur Swing : Threads et performance avec Swing
Bref pour le moment je ne suis pas trop perdu ![]()
http://blog.developpez.com/htsrv/trackback.php?tb_id=7786
Vous devez être identifié pour poster un commentaire.

Ce blog est mis à disposition sous un contrat Creative Commons BY-NC-SA.
System.gc() a encore frappé : jre 1.5, tomcat 6.0 et multi processeurs
Tutoriels Java SE
Tutoriels Java EE
Sélection du blog
Java SE/EE et Web en général
| Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Copyright © 2000-2012 - www.developpez.com