Outil de profilage mémoire des applications Android

Google Play a mis à jour ses directives de qualité des applications Android ce mois-ci avec de nouveaux seuils de RAM que les développeurs doivent respecter d’ici février 2027, sinon ils risquent des conséquences sur la liste du magasin. En résumé : les applications qui dépassent constamment le nouveau budget mémoire sur les appareils d’entrée de gamme perdront le classement, et finalement la distribution, sur Play. Si votre application a augmenté graduellement et que vous n’avez jamais mesuré son empreinte mémoire, c’est l’année pour commencer.

Les meilleurs outils Android pour cette tâche sont un mélange de profileurs au niveau des développeurs (celui d’Android Studio, Perfetto, Firebase) et de moniteurs sur appareil qui montrent ce que pense le téléphone d’un utilisateur réel de votre application. Voici sept outils valant la peine d’être installés, plus deux outils côté SDK qui méritent d’être connectés.

Que rechercher dans une pile de profilage de mémoire Android

Commencez par la vue sur appareil. Le téléphone de n’importe quel utilisateur réel est l’environnement dans lequel votre application doit survivre, et les moniteurs sur appareil ci-dessous vous permettent de vérifier l’espace RAM, les wakelocks et l’utilisation par application sans ordinateur portable connecté.

Pour un profilage profond, l’outil doit décomposer la mémoire par type d’allocation : Java heap, native heap, graphiques, code, pile et partagée. Un simple chiffre ne suffit pas. Portez également attention à l’historique du profilage en production : Firebase et Bugsnag capturent les performances des appareils réels d’une manière que les outils de laboratoire ne peuvent pas.

Examinez comment l’outil gère les fuites mémoire spécifiquement. LeakCanary se trouve à l’intérieur de votre application ; le profileur d’Android Studio affiche les vidages heap. Les deux sont nécessaires à différentes étapes. Enfin, regardez le chemin d’exportation. Si vous pouvez enregistrer un vidage heap et le partager avec un collègue, cela change la rapidité avec laquelle vous pouvez corriger la fuite.

Comparaison rapide

Application Idéal pour Plan gratuit Niveau payant Caractéristique remarquable
DevCheck Device & System Info Vue RAM par application sur appareil Gratuit avec annonces Environ 2,99 $ pour supprimer les annonces Statistiques de mémoire et système en direct par application sans root
Simple System Monitor Aperçu compact du système Gratuit avec annonces Environ 1,99 $ Pro Petit moniteur d’empreinte pour le budget RAM lui-même
GSam Battery Monitor Corrélations RAM côté batterie Gratuit Niveau Pro payant Montre ce qui s’exécute lors de la chute de batterie, corrélé avec la RAM
Wakelock Detector Éliminer les bugs de wakelock en arrière-plan Gratuit Gratuit Nomme les applications qui maintiennent le CPU éveillé, adjacent à la RAM
Android Studio Memory Profiler Profilage profond au niveau de l’allocation Gratuit Gratuit Le profileur canonique Java/native heap pour Android
Perfetto UI Traçage au niveau du système et profileur mémoire Gratuit, open source Gratuit Le même outil que les ingénieurs de Google utilisent en interne
Firebase Performance Monitoring Données mémoire de production des utilisateurs réels Niveau gratuit Plan Firebase Blaze Temps de démarrage des utilisateurs réels, blocages et rendu lent
Bugsnag Rapports de crash et de stabilité Niveau gratuit Plans commerciaux payants Groupe les crashes OOM afin qu’une fuite ait un visage

1. DevCheck Device & System Info

DevCheck montre en temps réel ce que pense le téléphone de chaque application en cours d’exécution : privée propre, privée sale, partagée, plus la consommation CPU et batterie. C’est le moyen le plus rapide sur appareil pour répondre “mon application utilise-t-elle trop de mémoire sur un appareil milieu de gamme sans ordinateur portable connecté?”. Aucun root requis.

Où il échoue: la version gratuite est soutenue par la publicité. La charge publicitaire est gérable et le déverrouillage payant est peu coûteux.

Prix: Gratuit avec annonces. Environ 2,99 $ pour déverrouiller le niveau sans annonces.

Plateformes: Android.

Télécharger: Aptoide · Google Play

Conclusion: la vérification élémentaire sur appareil que chaque développeur Android devrait avoir sur son appareil de test.

2. Simple System Monitor

Simple System Monitor affiche le CPU et la RAM en un coup d’œil dans une notification persistante, plus des graphiques d’historique. C’est l’application que vous épinglez lorsque vous voulez attraper un pic de mémoire au moment où il se produit : lancez votre application, regardez la ligne RAM, regardez le crash.

Où il échoue: c’est une vue système, pas un profileur spécifique à l’application. Associez-le à DevCheck pour les chiffres spécifiques à l’application.

Prix: Gratuit avec annonces. Environ 1,99 $ Pro supprime les annonces et ajoute des widgets supplémentaires.

Plateformes: Android.

Télécharger: Aptoide · Google Play

Conclusion: le moniteur d’arrière-plan qui attrape le pic que vous avez raté.

3. GSam Battery Monitor

GSam Battery Monitor a commencé comme une application de batterie mais a persisté car son suivi d’utilisation par application corréle les chutes de batterie avec ce qui s’exécutait. Les processus d’arrière-plan gourmands en RAM sont souvent des processus d’arrière-plan gourmands en batterie. GSam les nomme tous les deux.

Où il échoue: vous devez accorder la permission d’utilisation-statistiques pour que GSam voie clairement les autres applications.

Prix: Gratuit. Pro supprime certaines limites.

Plateformes: Android.

Télécharger: Aptoide · Google Play

Conclusion: la vue de corrélation entre la mémoire et la batterie.

4. Wakelock Detector

Wakelock Detector signale les applications qui maintiennent le CPU éveillé. Ce n’est pas directement la RAM, mais c’est souvent le même bug : un service qui détient un wakelock est un service qui détient des allocations. Si la mémoire de votre application va bien au démarrage et s’accumule pendant une heure, Wakelock Detector vous pointe vers la boucle qui ne s’est jamais arrêtée.

Où il échoue: Android moderne a limité les wakelocks par rapport aux versions antérieures, de sorte que certaines lectures sont moins alarmantes qu’elles ne le paraissent.

Prix: Gratuit.

Plateformes: Android.

Télécharger: Aptoide · Google Play

Conclusion: l’outil pour le bug de fuite mémoire à progression lente que vous ne pouvez pas reproduire à la demande.

5. Android Studio Memory Profiler

Android Studio Memory Profiler est l’outil de développeur canonique pour Android. Attachez-le à une compilation débogable, allouez le chemin de code qui vous intéresse, et il affiche un graphique linéaire en direct du Java heap, du native heap, des graphiques, du code, de la pile et de l’inconnu. Capturez un vidage heap et il affiche les objets par classe, taille conservée et arbre dominateur.

Où il échoue: vous avez besoin d’une compilation de débogage. Certaines optimisations que R8 effectue dans la version ne s’affichent pas dans un profil de débogage.

Prix: Gratuit.

Plateformes: Windows, macOS, Linux (Android Studio).

Télécharger: Android Studio

Conclusion: le profileur avec lequel vous profilez ; rien sur appareil ne remplace cela pour un vrai débogage.

6. Perfetto UI

Perfetto UI est l’outil de traçage au niveau du système que les ingénieurs de Google utilisent en interne, offert sous forme d’application web. Enregistrez une trace d’un appareil avec Perfetto ou le profileur d’Android Studio, puis chargez-la dans Perfetto UI et voyez la planification du noyau, les événements mémoire, le trafic binder et l’activité par thread. C’est l’aperçu le plus profond que vous puissiez prendre sans écrire une sonde eBPF.

Où il échoue: la courbe d’apprentissage est réelle. Attendez-vous à y passer une soirée la première fois.

Prix: Gratuit, open source.

Plateformes: N’importe quel navigateur.

Télécharger: Perfetto UI

Conclusion: l’outil de visualisation de trace au niveau système vers lequel vous passez après le profileur Studio.

7. Firebase Performance Monitoring

Firebase Performance Monitoring s’intègre à la compilation Gradle de votre application et rapporte les métriques de démarrage, de blocage et de rendu lent des utilisateurs réels. Il signale quand votre médiane ou p99 d’empreinte mémoire s’élève entre les versions, ce qui est l’histoire qui compte vraiment pour le seuil Play.

Où il échoue: le niveau gratuit limite le nombre de traces. Les applications lourdes atteignent ces limites.

Prix: Niveau gratuit. Le plan Blaze de Firebase est à paiement à l’utilisation pour des limites plus élevées.

Plateformes: SDK multiplateforme, console Firebase dans un navigateur.

Télécharger: Firebase

Conclusion: la couche de données de production pour le seuil mémoire Play.

8. Bugsnag

Bugsnag est le rapporteur de crash qui groupe les crashes OOM (mémoire insuffisante) afin que vous puissiez dire si un écran bogué ou une fuite lente en sont responsables. Son tableau de bord est possiblement la façon la plus simple de voir les métriques de stabilité par version.

Où il échoue: le niveau gratuit est limité en volume d’événements. Les plans commerciaux payants s’adaptent à votre application.

Prix: Niveau gratuit. Les plans payants s’adaptent aux événements et aux fonctionnalités.

Plateformes: SDK multiplateforme, tableau de bord Bugsnag dans un navigateur.

Télécharger: Bugsnag

Conclusion: le côté crash du travail mémoire, pour qu’un crash OOM ne disparaisse pas dans un pic général.

Comment choisir

Pour une vérification élémentaire sur appareil avant de livrer une compilation, DevCheck et Simple System Monitor répondent à 80 % de la question “cette application est-elle trop grande?”. Pour un vrai débogage, le profileur mémoire d’Android Studio est inévitable ; passez à Perfetto UI quand le profileur cesse de répondre à la question. Connectez Firebase Performance Monitoring pour attraper une régression dans votre base d’utilisateurs, et connectez Bugsnag pour qu’un crash OOM ait un visage. Utilisez GSam et Wakelock Detector quand la fuite est intermittente et que vous devez corréler la mémoire avec la batterie ou les réveils en arrière-plan.

FAQ

Quelle est la nouvelle règle de RAM des applications Android de Google Play?

Google Play a mis à jour ses directives de rendement avec de nouveaux seuils de mémoire que les applications doivent respecter en février 2027 sur les profils d’appareils d’entrée de gamme. Les applications qui dépassent constamment le budget perdent le classement sur Play et finalement la distribution.

Comment profiler l’utilisation de la mémoire de mon application Android?

Commencez par le profileur mémoire d’Android Studio sur une compilation de débogage. Pour les données de production, ajoutez Firebase Performance Monitoring. Pour les lectures en direct sur appareil, installez DevCheck sur l’appareil de test.

Puis-je profiler une application Android sans ordinateur portable?

Oui, jusqu’à un certain point. DevCheck et Simple System Monitor fournissent des lectures de mémoire par application sur l’appareil lui-même. Pour le débogage au niveau de l’allocation, vous avez toujours besoin d’un ordinateur portable et d’Android Studio.

Qu’est-ce que Perfetto?

Perfetto est un outil de traçage au niveau système que Google utilise en interne. Il enregistre une trace d’un appareil et vous permet d’inspecter la planification du noyau, les événements mémoire et l’activité par thread dans une interface utilisateur de navigateur.

Comment LeakCanary s’adapte-t-il à cette liste?

LeakCanary est une bibliothèque de détecteur de fuite in-app, pas une application installable sur Google Play. Ajoutez-la à votre compilation de débogage pour attraper les objets conservés qui autrement deviendraient des crashes OOM. Associez-la aux profileurs ci-dessus.