Semplice

Android Studio include un front-end grafico per Simpleperf, documentato in Esaminare l'attività della CPU con CPU Profiler. La maggior parte degli utenti preferirà utilizzare l'app invece di usare direttamente Simpleperf.

Se preferisci usare la riga di comando, Simpleperf è una riga di comando versatile Strumento di profilazione della CPU incluso nell'NDK per Mac, Linux e Windows.

Per la documentazione completa, inizia con il file README di Simpleperf.

Suggerimenti e ricette di SimplePerf

Se hai appena iniziato a usare Simpleperf, ecco alcuni comandi che potresti trovare particolarmente utile. Per altri comandi e opzioni, vedi Riferimento per comandi e opzioni Simpleperf.

Individuare le librerie condivise che richiedono più tempo per l'esecuzione

Puoi eseguire questo comando per vedere quali file .so occupano la percentuale maggiore di esecuzione (in base al numero di cicli della CPU). È un buon primo comando da eseguire all'avvio la sessione di analisi del rendimento.

$ simpleperf report --sort dso

Trovare le funzioni che richiedono più tempo per essere eseguite

Dopo aver identificato la libreria condivisa che impiega la maggior parte del tempo di esecuzione, puoi per vedere la percentuale di tempo dedicata all'esecuzione delle funzioni del file .so.

$ simpleperf report --dsos library.so --sort symbol

Trovare la percentuale di tempo trascorso nei thread

Il tempo di esecuzione in un file .so può essere suddiviso in più thread. Puoi eseguire questo comando vedere la percentuale di tempo trascorso in ogni thread.

$ simpleperf report --sort tid,comm

Trova la percentuale di tempo trascorso nei moduli oggetto

Dopo aver individuato i thread in cui viene spesa la maggior parte del tempo di esecuzione, puoi utilizzare questo comando per isolano i moduli dell'oggetto che richiedono il tempo di esecuzione più lungo in quei thread.

$ simpleperf report --tids threadID --sort dso

Scoprire la correlazione tra le chiamate di funzione

Un grafico delle chiamate fornisce una rappresentazione visiva di un'analisi dello stack che Simpleperf registra durante sessione di profilazione.

Puoi utilizzare il comando report -g per stampare un grafico della chiamata e vedere cosa vengono richiamate da altre funzioni. Questo è utile per determinare se una funzione è lenta o se è dovuto al fatto che una o più funzioni che chiama sono lente.

$ simpleperf report -g

Puoi anche utilizzare lo script Python report.py -g per avviare uno strumento interattivo che visualizzi funzioni. Puoi fare clic su ciascuna funzione per vedere quanto tempo viene trascorso nelle relative funzioni secondarie.

Profilazione delle app create con Unity

Se intendi profilare un'app creata con Unity, assicurati di creare l'app con per eseguire il debug dei simboli seguendo questa procedura:

  1. Apri il tuo progetto Android nell'editor Unity.
  2. Nella finestra Impostazioni build per la piattaforma Android, assicurati che L'opzione Build di sviluppo sia selezionata.
  3. Fai clic su Impostazioni player e imposta la proprietà Livello di separazione su. Disattivato.