Vous trouverez sur cette page un article ainsi que trois tutoriels expliquant comment utiliser les Handlers et en particuliers comment éviter les fuites mémoires en liant le cycle de vie de votre thread à celui de votre activité.
En effet, si vous ne faîtes pas attention, quand votre activité est détruite (passage par la méthode onDestroy) votre Thread ne l'est pas... Elle devient orpheline; vous ne pouvez plus communiquer avec elle. Pire, elle pointe vers votre Handler qui est lié à l'activité. Ainsi le Garbage Collector détécte que ces trois objets sont encore "utilisés" et ne les ramasse miette pas. Et là, c'est la fuite mémoire.
Je vous souhaite une bonne lecture, un bon téléchargement et une bonne compréhension de l'utilisation des Handlers.
Téléchargement des tutoriaux
Ces tutoriaux montrent comment utiliser les handlers.
Chaque tutorial est un projet Eclipse zippé, directement importable dans votre workspace.
Télécharger en un seul fichier tous ces tutoriaux:
Démonstration de la fuite mémoire |
Handler Tutorial avec AtomicBoolean |
Handler Tutorial avec onRetainNonConfiguration |
AsyncTask Tutorial avec AtomicBoolean |
Démonstration de la fuite mémoire AsyncTask |