Puoi raccogliere i profili utilizzando due metodi principali: la raccolta manuale dei profili
e l'API ProfilingManager
.
- La raccolta manuale dei profili prevede l'esecuzione manuale di Perfetto sul tuo dispositivo locale per registrare i profili. Puoi farlo utilizzando i comandi descritti in Registrare le tracce di sistema con Perfetto o utilizzando il riquadro Impostazioni rapide, come spiegato in Registrare utilizzando il riquadro Impostazioni rapide.
ProfilingManager
consente alle app di raccogliere profili in produzione.
Ti consigliamo di utilizzare ProfilingManager
per raccogliere e analizzare i dati di molti utenti o per eseguire il debug di problemi rari. Tuttavia, per i problemi più facili da
riprodurre, la profilazione manuale potrebbe essere una scelta migliore.
La seguente tabella mostra le differenze tra questi due metodi di registrazione dei profili:
ProfilingManager | Raccolta manuale dei profili | |
---|---|---|
Controllo della tempistica del profilo | Altro | Meno |
Origine profilo | Dispositivo locale e utenti pubblici | Solo dispositivo locale |
Output del profilo | Oscurata | Non oscurato |
Profilazione basata sugli eventi | Sì | No |
Personalizzazione del profilo | Meno | Altro |
Scalabilità | Alto | Bassa |
Le sezioni seguenti descrivono brevemente le differenze tra i metodi di registrazione dei profili.
Controllo della tempistica del profilo
L'API ProfilingManager
offre un maggiore controllo su quando un'app avvia o
interrompe un profilo rispetto alla profilazione manuale, in cui l'inizializzazione
del profilo di temporizzazione potrebbe essere difficile. ProfilingManager
semplifica anche la profilazione di comportamenti imprevisti perché puoi raccogliere un profilo anche se non riesci a riprodurre il comportamento localmente.
Origine profilo
Con ProfilingManager
, puoi raccogliere dati dagli utenti pubblici per trovare e risolvere
i problemi di rendimento. Al contrario, la profilazione manuale ti consente di riprodurre i problemi
solo sul tuo dispositivo.
Output del profilo
ProfilingManager
e la raccolta manuale producono diversi tipi di output del profilo:
ProfilingManager
produce tracce modificate. Le tracce oscurate mostrano informazioni sul processo della tua app, ma nascondono i dati di altre app sul sistema. PoichéProfilingManager
raccoglie e redige le tracce prima di restituirle, puoi raccoglierle da utenti pubblici proteggendo la loro privacy non mostrando i dati di altre app.La raccolta manuale dei profili produce tracce non modificate. Quando registri manualmente una traccia di sistema, l'output potrebbe includere tutti i processi in esecuzione sul sistema. Sebbene queste tracce non modificate offrano dati più completi per il debug, puoi accedervi solo localmente per motivi di privacy.
Profilazione basata sugli eventi
ProfilingManager
può anche raccogliere profili quando si verificano eventi specifici, ad esempio un errore di applicazione che non risponde (ANR) o l'avvio dell'app. ProfilingManager
gestirà l'avvio e l'interruzione dei profili per la raccolta basata sugli eventi.
Personalizzazione del profilo
La profilazione manuale offre la massima personalizzazione, mentre ProfilingManager
offre meno opzioni di personalizzazione.
Scalabilità
ProfilingManager
è il modo migliore per scalare la tracciabilità perché è l'unica opzione
che consente agli sviluppatori di app di registrare profili di utenti pubblici. Con
ProfilingManager
, puoi configurare la raccolta e l'analisi delle tracce su larga scala.
La profilazione manuale è limitata all'uso locale.