Analizza il consumo energetico con lo storico della batteria

Lo strumento Storico della batteria fornisce informazioni sul consumo della batteria di un dispositivo nel tempo. A livello di sistema, lo strumento visualizza gli eventi relativi all'alimentazione provenienti i log di sistema in una rappresentazione HTML. A livello specifico per un'app, lo strumento fornisce una serie di dati che possono aiutarti a identificare un'app che consuma la batteria comportamento degli utenti.

Questo documento descrive alcuni modi in cui puoi usare Battery History per apprendere sui modelli di consumo della batteria. Il documento inizia spiegando come leggere i dati a livello di sistema riportati da Battery Historian. Quindi presenta i modi in cui in cui puoi usare Battery Historian per diagnosticare e risolvere i problemi il comportamento dell'app in relazione al consumo della batteria. Infine, offre diversi suggerimenti scenari in cui Battery Historian può risultare particolarmente utile.

Utilizza la vista a livello di sistema

Lo strumento Battery History fornisce una visualizzazione a livello di sistema di varie app e il comportamento del sistema, oltre alla correlazione con il consumo della batteria nel tempo. Questa visualizzazione, mostrata nella Figura 1, può aiutarti a diagnosticare e identificare problemi di consumo energetico della tua app.

Visualizzazione degli eventi a livello di sistema che hanno impatto sull'alimentazione da parte di Battery Historian
  il consumo eccessivo.
Figura 1. Visualizzazione degli eventi a livello di sistema di Battery Historian che influisce sul consumo di energia.

Di particolare interesse per questo dato c'è la tendenza nera, orizzontale e al ribasso linea che rappresenta il livello della batteria, misurato sull'asse y. Ad esempio, nella all'inizio della linea del livello della batteria, verso le 06:50, mostra un calo relativamente improvviso del livello della batteria.

La figura 2 mostra un primo piano di quella parte del display.

Un primo piano della sequenza temporale di Battery Historian dalle 06:50 alle 07:20 circa.
Figura 2. Un primo piano della sequenza temporale di Battery Historian a partire da all'incirca dalle 6:50 alle 7:20.
di Gemini Advanced.

All'inizio della linea del livello della batteria, mentre la batteria si riduce improvvisamente, la mostra tre cose: la CPU è in esecuzione, un'app ha acquisito wakelock e lo schermo è acceso. In questo modo, Battery Historian ti aiuta capire quali eventi si verificano quando la batteria ha un consumo elevato. Puoi quindi scegli come target questi comportamenti nella tua app e verifica se sono ottimizzazioni correlate che puoi apportare.

La visualizzazione a livello di sistema può fornire anche altri indizi. Ad esempio, se indica che la radio mobile viene spesso spenta e accesa, un'opportunità per ottimizzare questo comportamento mediante API di pianificazione intelligente come JobScheduler o Firebase Job Dispatcher.

La prossima sezione spiega come esaminare il comportamento e gli eventi specifici di la tua app.

Visualizzare i dati specifici dell'app

Oltre ai dati a livello di macro forniti dalla visualizzazione a livello di sistema, anche Storico fornisce anche tabelle e alcune visualizzazioni di dati specifici in esecuzione sul tuo dispositivo. I dati tabulari includono:

  • Consumo energetico stimato dell'app sul dispositivo.
  • Informazioni di rete.
  • Wakelock.
  • Servizi.
  • Informazioni sul processo.

Le tabelle forniscono due dimensioni di dati sulla tua app. Innanzitutto, puoi cercare il ranking del consumo energetico della tua app rispetto ad altre app. A tale scopo, fai clic su Tabella Stime consumo energetico in Tabelle. Questo esempio esamina un modello chiamata Pug Power.

Scoprire quali app consumano più energia.
Figura 3. Scoprire quali app consumano più energia.

La tabella nella Figura 3 rivela che Pug Power è il nono consumatore più grande di della batteria di questo dispositivo e la terza app più grande che non fa parte di . Questi dati suggeriscono che l'app necessita di indagini più approfondite.

Per cercare i dati relativi a un'app specifica, inserisci il nome del pacchetto nella parte inferiore tra I due menu a discesa in Selezione app, sotto il lato sinistro dello visualizzazione.

Inserendo un'app specifica di cui visualizzare i dati.
Figura 4. Inserendo un'app specifica di cui visualizzare i dati.

Quando selezioni un'app specifica, vengono visualizzate le seguenti categorie di visualizzazione dati modifica per visualizzare i dati specifici dell'app anziché quelli a livello di sistema:

  • SyncManager.
  • Processo in primo piano.
  • Wakelock dello spazio utente.
  • App principale.
  • JobScheduler.
  • Procedura Gestore attività

Le visualizzazioni SyncManager e JobScheduler lo rendono immediatamente ovvio se la tua app esegue sincronizzazioni ed esegue job più spesso del necessario. Nella Così facendo, possono indicare rapidamente un'opportunità di ottimizzare il comportamento della tua app per migliorare le prestazioni della batteria.

Puoi anche ottenere altri dati di visualizzazione specifici per app, Wakelock spazio utente. Per includere queste informazioni nella segnalazione di bug, inserisci il seguente comando nella finestra del terminale:

$ adb shell dumpsys batterystats --enable full-wake-history

Le figure 5 e 6 mostrano i dati per Pug Power: la figura 5 mostra la visualizzazione del specifici dell'app e la Figura 6 mostra i dati tabulari corrispondenti.

Visualizzazione dei dati per l'app fittizia Pug Power.
Figura 5. Visualizzazione dei dati per l'app fittizia Pug Power.


Dati tabulari per l'app fittizia Pug Power.

Figura 6. Dati tabulari per l'app fittizia Pug Power.
di Gemini Advanced.

Un'occhiata alla visualizzazione non mostra nulla di immediatamente evidente. La La riga JobScheduler mostra che l'app non ha job pianificati. La riga SyncManager indica che l'app non ha eseguito alcuna sincronizzazione.

Tuttavia, l'esame del segmento Wakelock dei dati tabulari rivela che Pug Power acquisisce wakelock per un totale di oltre un'ora. Questo comportamento insolito e costoso può tenere conto dell'elevato livello di consumo energetico dell'app. Questo articolo informazioni aiutano lo sviluppatore a scegliere un'area in cui è probabile che venga effettuata l'ottimizzazione sarà di grande aiuto. In questo caso, perché l'app acquisisce così tanto tempo di wakelock? e in che modo lo sviluppatore può migliorare questo comportamento?

Altri casi in cui Battery Storico può essere d'aiuto

Ci sono molti altri casi in cui Battery History può aiutarti a diagnosticare per migliorare il comportamento della batteria. Ad esempio, Battery Storico può indica se la tua app è:

  • Attivazione della sveglia troppo frequente (ogni 10 secondi o meno).
  • Tieni sempre premuto un blocco GPS.
  • Pianificazione dei job ogni 30 secondi o meno.
  • La programmazione viene sincronizzata ogni 30 secondi o meno.
  • Utilizzare il segnale radio cellulare più spesso del previsto.