Répondre

0

Contrairement à ce qu'indique la dernière version d'AndroidStudio, vous pouvez utiliser AsyncTask partout où vous le souhaitez, pour autant que vous le manipuliez correctement. Cela signifie que si vous le lancez à partir d'une activité ou d'un fragment, vous devez annuler votre asyncTask lorsque l'activité/le fragment est détruit. La raison pour laquelle ils mettent en garde contre cela est que souvent AsyncTask a une référence à l'activité. Si la tâche asynchrone prend une éternité et que l'activité est détruite, la tâche asynchrone est toujours en cours d'exécution et contient une référence à l'activité. Cette référence ferme empêche l'activité d'être collectée et vous obtiendrez toujours les rappels AsyncTask une fois l'activité détruite terminée. Mais ceci peut facilement être évité simplement en le rendant sensible au cycle de vie: appelez AsyncTask.cancel (true). Architecturalement, c'est à vous de décider.

TLDR; Assurez-vous d'annuler votre asynctask quand ce n'est plus nécessaire.