Mémoire Android

Les pages suivantes fournissent des informations sur l'amélioration de l'utilisation de la mémoire par votre application.

Conseils généraux sur la mémoire

Informations générales sur la mémoire
Explique l'architecture de mémoire Android de base, les contraintes de RAM et comment le système d'exploitation équilibre les processus à l'aide du tueur de mémoire faible (LMK).
Gestion de la mémoire
Présente les bonnes pratiques des développeurs pour libérer des ressources tout au long des cycles de vie des composants, éviter les fuites et gérer la mémoire lors du passage d'un état de processus à un autre.
Comprendre et résoudre les problèmes de mémoire Android
Fournit une présentation complète de l'architecture de mémoire Android, des outils disponibles pour l'analyse et des exercices pratiques pour vous aider à identifier et à résoudre les problèmes liés à la mémoire.

Optimisations spécifiques à une zone

Informations générales sur la mémoire des jeux
Fournit des informations détaillées sur la budgétisation de la mémoire, la gestion de l'allocation native et la gestion des éléments graphiques, spécialement conçues pour les applications utilisant des moteurs de jeu.
Optimiser les images bitmap
Montre comment dimensionner, décoder et mettre en cache efficacement les éléments bitmap dans les bibliothèques d'images.
Gérer et diagnostiquer la mémoire WebView
Explique le modèle de mémoire multiprocessus WebView, décrit comment gérer correctement son cycle de vie pour éviter les fuites et fournit des workflows pratiques pour diagnostiquer les problèmes de mémoire.
Optimisation du code R8
Explique comment tirer parti de R8 pour réduire la taille des APK, la surcharge des métadonnées et la consommation de mémoire au moment de l'exécution.

Outils de débogage de la mémoire locale

Outils Android Studio
Fournit des workflows d'inspection du tas de mémoire en temps réel, de suivi de l'allocation de mémoire et de détection des fuites directement dans l'IDE.
Explorateur d'empreintes de la mémoire Perfetto
Offre une analyse visuelle approfondie des empreintes de la mémoire native et Java/Kotlin pour isoler les arborescences d'objets conservés et les allocations de mémoire anonymes.
Capturer une trace système sur un appareil
Montre comment enregistrer des traces au niveau du système sur l'appareil pour résoudre les bugs liés aux performances de votre application.
Déboguer l'utilisation de la mémoire sur Android
Explique comment comprendre la gestion de la mémoire Linux et utiliser des outils tels que dumpsys meminfo, Perfetto, les profils de tas de mémoire natifs et les empreintes de la mémoire pour suivre l'utilisation de la mémoire et identifier les fuites.

Outils de mémoire au niveau de la production

Android Vitals : Utilisation de la mémoire (RSS anonyme + swap)
Android Vitals partage l'utilisation de la mémoire de production de votre application, ventilée par état de processus : premier plan, service de premier plan, service d'arrière-plan.
Android Vitals : Utilisation de la mémoire bitmap
Android Vitals fournit des métriques sur l'espace mémoire utilisé par les bitmaps d'une application en agrégeant les données des appareils Android.
Android Vitals : Optimisation du code DEX
Android Vitals peut vous alerter lorsque les niveaux d'optimisation du code DEX de votre application sont faibles. Cela inclut l'obscurcissement, la minification et l'optimisation pour les applications et les jeux qui utilisent R8.
Crashlytics
Affiche les exceptions de mémoire insuffisante (OOM) et les suppressions de limiteur de mémoire en production avec un contexte de diagnostic pour hiérarchiser et corriger les plantages sur le terrain.
ProfilingManager
API avancée qui permet aux applications de collecter et d'importer par programmation des empreintes de la mémoire et des profils de tas de mémoire de production à partir de sessions utilisateur en direct.

Ressources supplémentaires

Articles de blog

Vidéos

Concevoir des applications Android performantes en termes de mémoire