Registrare metodi Java/Kotlin

La registrazione dei metodi Java/Kotlin chiamati durante l'esecuzione del codice dell'app consente di visualizzare lo stack di chiamate e l'utilizzo della CPU in un determinato momento, filtrati in base ai metodi Java/Kotlin. Questi dati sono utili per identificare le sezioni di codice che richiedono molto tempo o molte risorse di sistema per l'esecuzione. Se vuoi una visualizzazione completa dello stack di chiamate, inclusi i frame di chiamata nativi, utilizza l'attività di profilazione Esempio di stack di chiamate.

Quando registri i metodi Java/Kotlin utilizzando il Profiler di Android Studio, puoi scegliere il tipo di registrazione:

  • Tracciamento: strumenta l'app in fase di runtime per registrare un timestamp all'inizio e alla fine di ogni chiamata al metodo. I timestamp vengono raccolti e confrontati per generare dati di tracciamento dei metodi, incluse le informazioni sui tempi. Devi utilizzare la tracciatura quando ti interessano i metodi esatti chiamati. Poiché la tracciatura è un processo intensivo, se utilizzi questa opzione è meglio mantenere la registrazione intorno ai cinque secondi o meno.

  • Campionamento (legacy): acquisisce lo stack di chiamate della tua app a intervalli frequenti durante l'esecuzione del codice basato su Java o Kotlin della tua app. Il profiler confronta i set di dati acquisiti per ricavare informazioni su tempi e utilizzo delle risorse relative all'esecuzione del codice basato su Java o Kotlin della tua app. Devi utilizzare il campionamento se ti interessa di più il tempismo rispetto ai metodi esatti chiamati.

Panoramica dei metodi Java/Kotlin

Dopo aver eseguito l'attività Trova hotspot CPU, Android Studio Profiler fornisce le seguenti informazioni:

  • Utilizzo CPU: mostra l'utilizzo della CPU da parte della tua app come percentuale della capacità CPU totale disponibile nel tempo. Tieni presente che l'utilizzo della CPU include non solo i metodi Java/Kotlin, ma anche il codice nativo. Evidenzia una sezione della cronologia per filtrare i dettagli relativi a quel periodo di tempo.
  • Interazioni: mostra gli eventi di interazione degli utenti e del ciclo di vita dell'app lungo una cronologia.
  • Thread: mostra i thread su cui viene eseguita l'app. Nella maggior parte dei casi, ti consigliamo di concentrarti prima sul thread in alto che rappresenta la tua app.

Per identificare i metodi o gli stack di chiamate che richiedono più tempo, utilizza il grafico a fiamma o il grafico dall'alto verso il basso.