2011-09-21 3 views
1

Une fois qu'un appel est terminé AsyncTask est le fil supprimé?Comprendre AsyncTask

Je AsyncTask un emmagasinés dans un var "guiThread = (GUIAsyncTask) nouvelle GUIAsyncTask()". Le premier appel à execute() fonctionne mais pas les appels suivants. Alors, est-ce que je crée de nouvelles tâches quand j'en ai besoin? J'avais l'impression que j'utilisais ma variable encore et encore et que le fait d'appeler encore et encore ferait tourner des milliers/millions de threads.

Répondre

3

AsyncTasks sont un temps utilise. Ils commencent, exécutent, puis meurent. Ensuite, vous avez le choix de garder la référence autour de recueillir des informations de ce qui peut être stockée dans la classe de post-exécution, ou le dumping de la référence et de laisser le garbage collector gérer. Si vous voulez recommencer le AsyncTask, vous devez créer un nouvel objet et le démarrer.

+0

Parfait, merci. – kjs3

1

Non vous devez créer un nouveau AyncTask chaque fois que vous voulez utiliser.

0

Un AsyncTask doit être créé à chaque fois qu'il doit être utilisé