A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Strumenti per le prestazioni del sistema
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Questa pagina descrive gli strumenti che puoi utilizzare per misurare le metriche sul rendimento.
Tempo di avvio
Per eseguire il profiling dei tempi di avvio, consulta la documentazione di Simpleperf.
config.yaml
per includere gli eventi da cercare. config.yaml
dovrebbe apparire come segue:
stop_event: <logcat log message which will terminate log collection after reboot>
events:
event1_name: <pattern that matches log message>
event2_
...
Su alcuni dispositivi, l'avvio dell'orologio potrebbe mostrare un'ora errata per i primi secondi. Anche se lo strumento bootanalyze può gestire una correzione del tempo pronta all'uso, puoi fornire un pattern facoltativo di correzione del tempo in config.yaml
.
L'articolo Ottimizzazione dei tempi di avvio spiega come migliorare il tempo di avvio utilizzando componenti come Bootloader, Kernel del dispositivo, Ottimizzazione I/O, Animazione di avvio e il criterio SELinux.
Tempo di avvio dell'app
Gli utenti si aspettano che le app si carichino rapidamente e siano reattive.
Tempi di avvio dell'app descrive in dettaglio i componenti interni della procedura di lancio e spiega come eseguire il profiling e ottimizzare le prestazioni di avvio.
Interfaccia utente
I test di prestazioni dell'interfaccia utente (UI) assicurano che la tua app soddisfi i requisiti funzionali e che le interazioni degli utenti con la tua app siano fluide, che vengano eseguite a 60 frame al secondo in modo coerente (consulta Android
Performance Patterns: Why 60fps?) e il tutto senza perdere frame o ritardi.
Per ulteriori informazioni, consulta Test delle prestazioni dell'UI e JankTest.
Memoria
Puoi controllare l'utilizzo della memoria dell'app in due modi:
- Nel tempo, utilizzando
procstats
.
- Fai uno snapshot nel tempo utilizzando
meminfo
.
Per informazioni dettagliate, vedere le sezioni:
Unità centrale di elaborazione
Per eseguire query sulla CPU, puoi utilizzare i seguenti strumenti.
- Per eseguire il profiling delle app Android e dei processi nativi in esecuzione su Android, consulta la documentazione di Simpleperf.
uno strumento di profilazione della CPU (unità di elaborazione centrale) nativa per Android. Simpleperf può eseguire il profiling del codice Java e C++ su Android. L'eseguibile Simpleperf può essere eseguito su release di Android successive a L e gli script Python possono essere utilizzati su release di Android successive a N.
Documentazione di Simpleperf.
Per maggiori dettagli, consulta la documentazione di Simpleperf.
- Per ispezionare l'utilizzo della CPU e l'attività dei thread della tua app in tempo reale mentre interagisci con essa, utilizza lo strumento di profilazione della CPU.
Questa operazione presenta molti vantaggi, ad esempio offre un'esperienza utente più rapida e fluida e preserva la durata della batteria del dispositivo. Inoltre, puoi esaminare i dettagli dei metodi, delle funzioni e delle tracce di sistema registrati.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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."]]