Jérémy Le Piolet - Blog

Utiliser LeakCanary pour détecter les fuites mémoires sous Android

Cet article a été écrit il y a plus d'un an : son contenu peut être dépassé.

L’une des problématiques principales du développement sous Android, c’est la gestion du cycle de vie des activités/fragments. À tout moment, ces composants peuvent être arrêtés et recréés selon les évènements système : réception d’appel, rotation de l’écran, etc. De ces re-créations multiples découle un fort risque d’introduire des fuites mémoires, fuites qui peuvent parfois conduire à des ralentissements de l’application, voire carrément au crash.

LeakCanary est une librairie qui permet de détecter ces fuites mémoires lorsqu’elles se produisent. La librairie génère un rapport que le développeur peut ensuite analyser pour corriger son application.

C’est une librairie sous licence Apache V2, très simple à installer et à utiliser. La documentation est claire, je ne m’étends pas plus sur l’installation et la configuration. Elle est disponible sur Github : https://github.com/square/leakcanary

Je complète avec une conférence fort intéressante d’une trentaine de minutes sur l’utilisation de la librairie et le comportement à avoir lorsque l’on découvre une fuite : rappels sur la gestion de la mémoire, que chercher, comment résoudre de façon rationnelle, etc. : https://www.youtube.com/watch?v=7A7Uv9ZBE2U