Aller au contenu

"bonnes pratiques" AsyncTask


Pierre87

Recommended Posts

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

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

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

  • 3 months later...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...