À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Outils de performances système
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page décrit les outils que vous pouvez utiliser pour mesurer les métriques de performances.
Temps de démarrage
Pour profiler le délai de démarrage, consultez la documentation Simpleperf.
fichier config.yaml
pour inclure les événements que vous souhaitez rechercher. config.yaml
doit se présenter comme suit:
stop_event: <logcat log message which will terminate log collection after reboot>
events:
event1_name: <pattern that matches log message>
event2_
...
Sur certains appareils, le démarrage de l'horloge peut afficher une heure incorrecte pendant les premières secondes. Bien que l'outil bootanalyze puisse prendre en charge une correction de l'heure prête à l'emploi, vous pouvez fournir un modèle de correction de l'heure facultatif dans config.yaml
.
Optimiser les temps de démarrage explique comment améliorer le temps de démarrage à l'aide de composants tels que le bootloader, le noyau de l'appareil, le réglage des E/S, l'animation de démarrage et la stratégie SELinux.
Temps de démarrage de l'application
Les utilisateurs s'attendent à ce que les applications se chargent rapidement et soient réactives.
Délai de démarrage de l'application décrit les mécanismes internes du processus de lancement et explique comment profiler et optimiser les performances de démarrage.
Interface utilisateur
Les tests de performances de l'interface utilisateur (UI) garantissent que votre application répond aux exigences fonctionnelles et que les interactions des utilisateurs avec votre application sont fluides, s'exécutent à 60 images par seconde de manière cohérente (voir Android Performance Patterns: Why 60fps? (Modèles de performances Android : pourquoi 60 FPS ?)) et, surtout, sans perte ni retard d'affichage des images.
Pour en savoir plus, consultez Tester les performances de l'interface utilisateur et JankTest.
Mémoire
Vous pouvez inspecter l'utilisation de la mémoire de l'application de deux manières:
- Au fil du temps, à l'aide de
procstats
.
- Instantané temporel, à l'aide de
meminfo
.
Pour plus d'informations, reportez-vous aux rubriques suivantes :
Processeur
Vous pouvez utiliser les outils suivants pour interroger le processeur.
- Pour profiler les applications Android et les processus natifs exécutés sur Android, consultez la documentation Simpleperf.
un outil de profilage de processeur (CPU) natif pour Android. Simpleperf peut profiler du code Java et C++ sur Android. L'exécutable Simpleperf peut s'exécuter sur les versions Android ultérieures à L, et les scripts Python peuvent être utilisés sur les versions Android ultérieures à N.
Documentation Simpleperf.
Pour en savoir plus, consultez la documentation Simpleperf.
- Pour inspecter en temps réel l'utilisation du processeur et l'activité des threads de votre application lorsque vous interagissez avec celle-ci, utilisez le Profileur de processeur.
Cela présente de nombreux avantages, tels que la possibilité de fournir une expérience utilisateur plus rapide et plus fluide et de préserver l'autonomie de la batterie de l'appareil. En outre, vous pouvez inspecter les détails des traces de méthode, de fonction et de système enregistrées.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# System performance tools\n\nThis page describes the tools you can use to measure performance metrics.\n\nBoot time\n---------\n\nTo profile boot timing, use the\n[Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md)\ndocumentation.\n`config.yaml` file to include events you want to search for. `config.yaml`\nshould appear as follows: \n\n```scdoc\n stop_event: \u003clogcat log message which will terminate log collection after reboot\u003e\n events:\n event1_name: \u003cpattern that matches log message\u003e\n event2_\n ...\n```\n\nOn some devices, booting the clock may display an incorrect time for the first few seconds. While\nthe bootanalyze tool can accommodate a time correction out-of-the-box, you can provide an optional\ntime correction pattern in `config.yaml`.\n[Optimizing boot times](/devices/tech/perf/boot-times) explains how to improve boot\ntime using components such as Bootloader, Device Kernel, I/O tuning, Boot animation, and the\nSELinux policy.\n\nApp start-up time\n-----------------\n\nUsers expect apps to be quick to load and responsive.\n[App Startup Time](https://developer.android.com/topic/performance/vitals/launch-time)\ndetails the internals of the launch process and discusses how to profile and optimize startup\nperformance.\n\nUser interface\n--------------\n\nUser interface (UI) performance testing ensures that your app meets functional requirements and\nthat user interactions with your app are smooth, run at a consistent 60 frames per second (see\n[Android\nPerformance Patterns: Why 60fps?](https://www.youtube.com/watch?v=CaMTIgxCSqU&index=25&list=PLWz5rJ2EKKc9CBxr3BVjPTPoDPLdPIFCE)), and all without dropping or delaying frames.\n\nFor more information, see [Test\nUI Performance](https://developer.android.com/training/testing/performance) and\n[JankTest](https://developer.android.com/reference/android/support/test/jank/JankTest).\n\nMemory\n------\n\nYou can inspect app memory usage in one of two ways:\n\n- Over time, using `procstats`.\n- Snapshot in time, using `meminfo`.\n\nFor details, see:\n\n- To measure memory usage, see [View\n Memory Allocations](https://developer.android.com/studio/command-line/dumpsys.html#ViewingAllocations).\n- To use the Android Studio IDE to inspect memory, Android Studio provides a GUI-based memory usage tool. For details, see [View the Java Heap and\n Memory Allocations with Memory Profiler](https://developer.android.com/studio/profile/memory-profiler).\n- To conduct performance instrumentation and tracing on the Linux, Android, and Chrome platform and in user-space apps, use open source [Perfetto](https://perfetto.dev/#/).\n\nCentral processing unit\n-----------------------\n\nYou can use the following tools to query the CPU.\n\n- To profile Android apps *and* native processes running on Android, use [Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md) documentation.\na native central processing unit (CPU) profiling tool for Android. Simpleperf can profile Java and C++ code on Android. The Simpleperf executable can run on Android releases later than L and Python scripts can be used on Android releases later than N. \n\n[Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md) documentation. For details, see the [Simpleperf](https://android.googlesource.com/platform/system/extras/+/android16-release/simpleperf/doc/README.md) documentation.\n- To inspect your app's CPU usage and thread activity in real time while interacting with your app, use the [CPU Profiler](https://developer.android.com/studio/profile/cpu-profiler). Doing so has many advantages, such as providing a faster and smoother user experience and preserving device battery life. In addition, you can inspect the details of recorded method, function, and system traces."]]