Scegliere il metodo di profilazione giusto

Puoi raccogliere i profili utilizzando due metodi principali: la raccolta manuale dei profili e l'API ProfilingManager.

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 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.