Bonjour à tous,
J'utilise un AsyncTask pour faire un traitement sur une image capturé à l'aide de l’appareil photo. Mon traitement se résume à un seul appel de fonction (pour information j'appel ma fonction decode(image,dimx,dimy)).
J'utilise vos tutoriels Android pour m'aider particulièrement celui-ci :
Thread, Handler , AsyncTask et fuite mémoire.
Dans ce tutoriel est expliqué que lorsque l'AsyncTask est passer dans la fonction postExecute() (c-a-d qu'il a terminer le traitement de DoInBackground()) le thread de l'AsyncTask est killer.
Sauf que voila, quand je vais dans le DDMS d'eclipse et que je regarde les threads, mon AsyncTask est encore là avec le statut wait. Et si je relance mon traitement je vais créer un autre AsyncTask sans supprimer l'ancien.
Dans le tutoriel est donné un exemple qui traite un problème de "fuite mémoire" sauf que quand je lance le programme qui est fournis par le tutoriel je me retrouve avec le même problème d'AsyncTask non arrêté et quand on relance le programme un autre AsyncTask est créé sans supprimer l'ancien.
Est-ce que c'est normal ? J'ai quelques données membres pour mon AsyncTask est-ce que sa ne serait pas sa mon problème : "mes données ne sont pas détruite donc mon AsyncTask ne peut pas se terminé ?
Je vais rechercher ce que veut dire le statut wait mais je tenais à avoir vos avis.
Merci d'avance pour vos futures réponses.
Partager