Pierre87 Posté(e) 16 juin 2010 Share Posté(e) 16 juin 2010 Je me pose des questions au sujet des bonnes pratiques d'utilisation de AsyncTask :P Est il vrai qu'il est nécessaire d'être dans le UI thread pour en instancier, ou appeler execute() ? Est il "bien" de mettre Void pour les 3 types de AsyncTask ? (et donc passer mes multiples paramètres dans mon constructeur) Est il bien d'appeler execute() directement dans mon constructeur ? PS : Actuellement, dans mon application, j'utilise des pools de threads. Je compte migrer vers les Asynctask, mais je me demande si il y a aussi la notion de "queue", de nombre maximum de threads "running" Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 17 juin 2010 Share Posté(e) 17 juin 2010 http://android-developers.blogspot.com/2009/05/painless-threading.html It is also very important to remember that an AsyncTask instance has to be created on the UI thread and can be executed only once. Par ailleurs, l'AsyncTask n'est qu'un helper ajouté à l'API pour faciliter la tâche des dévelopeurs. Ses fonctionnalités peuvent être insuffisantes pour des besoins de multithreading plus poussés, ce qui semble être ton cas avec ta gestion de pool. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 18 juin 2010 Auteur Share Posté(e) 18 juin 2010 haaaa ! c'est donc là que j'avais lu ça ! (je ne m'en souvenais plus) donc je vais me passer des AsyncTask pour cette histoire de pool par contre, j'aimerai bien reproduire ce principe : exécuter le résultat dans le UI Thread comment déterminer si on est dans le thread UI ? (lors de la création de mon objet "tache") comment exécuter quelque chose dans ce thread ? Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 18 juin 2010 Share Posté(e) 18 juin 2010 Le plus simple, c'est la fonction runOnUiThread. Emmanuel / Alocaly Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 18 juin 2010 Auteur Share Posté(e) 18 juin 2010 ouais, c'est vrai, mais je ne suis pas toujours dans une Activity ... j'ai jeté un oeil à la source de Asynctask, mais je ne capte rien à cette histoire de Handler et de Message ... :( Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pierre87 Posté(e) 30 septembre 2010 Auteur Share Posté(e) 30 septembre 2010 J'ai trouvé un moyen plus propre d'exécuter une fonction dans le UI thread : Handler Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.