Come diagnosticare il consumo della batteria sul dispositivo Android utilizzando logcat?


17

Ho riscontrato un grave problema di esaurimento della batteria sulla mia ROM personalizzata ufficiale Cyanogenmod. Dopo averne discusso nei forum della comunità, mi è stato suggerito di utilizzare logcat per la risoluzione del problema.

Problema:
ogni volta che scollego il dispositivo dopo una ricarica completa, si scarica rapidamente la batteria. Perde quasi il 50% in 15-20 minuti. Come accennato in precedenza, sto pianificando di utilizzare logcat per provare a rilevare il problema. Sto programmando di eseguire adb logcatimmediatamente dopo aver scollegato il telefono dall'alimentazione. Tuttavia, ho usato logcat in passato e ho trovato molto molto difficile estrarre dati specifici dall'output di grandi dimensioni. Ho già consultato la pagina di aiuto ufficiale di logcat e la lettura e la scrittura dei registri per vedere se potevo trovare qualcosa di utile, ma non sono riuscito a trovare una soluzione al mio problema.

Domanda:

  • Esiste un modo per utilizzare i filtri o qualche altra funzione in cui posso limitare l'output di logcat alle statistiche relative solo all'uso della batteria?
  • Qualcosa del genere può adb shell dumpsys batterystats > batterystats.txtessere di migliore utilità per me? Se è così, come lo uso per ottenere quello che voglio?

Grafico della batteria 1 Il modello di utilizzo non mostra nulla Grafico della batteria 2

AGGIORNAMENTO:
BatteryStats per il mio drain ora può essere trovato qui su Patebin. Anche questa è la mia tabella degli storici delle batterie:
Grafico della batteria



1
Dal grafico di scarica preferirei assumere una batteria difettosa qui che un'app (specialmente se succede sempre in quel modo). Forse provi una nuova batteria (a condizione che il tuo dispositivo supporti la sua sostituzione)?
Izzy

Penso che il problema sia con la batteria, non con un'app. Prova a prendere in prestito la batteria di qualcuno con lo stesso dispositivo e verifica se si verifica lo stesso errore con la batteria più recente. In caso contrario dovrai solo procurarti una nuova batteria. Se lo fa ancora, non penserei ancora che sia a causa di un'app: per scaricare questa batteria sarebbe necessario attivare il GPS, avere un intenso traffico di rete e eseguire processi complessi alla volta.
Namnodorel,

@Namnodorel purtroppo è una batteria non rimovibile .. Penso anche che non sia dovuta a nessuna app. È una perdita nella ROM o qualcos'altro. Presumo che non ci siano problemi nella batteria perché, come ho detto, una volta ricaricata se dopo la caduta, funziona perfettamente: |
theHeman

Le batterie che stanno andando male possono essere incoerenti a volte. La batteria del mio Galaxy S6 si sta lentamente esaurendo e alcuni giorni è meglio, alcuni giorni è peggio. La mia fuga non è significativa come la tua, ma credo che non sia dovuta a un'applicazione. Hai provato a far funzionare il telefono in modalità provvisoria? Hai provato un ripristino delle impostazioni di fabbrica (tanto terribile e sfortunato quanto lo sono per eseguire e recuperare)?
Kaizerwolf,

Risposte:


1

Sei sicuro, non è nessuna app che sta scaricando la batteria? Puoi scoprirlo avviando il telefono in modalità provvisoria. Leggi Come avviare il telefono in modalità provvisoria per istruzioni. Se la batteria non si scarica in modalità provvisoria, prova a disinstallare le app installate dopo aver iniziato a vedere questo strano comportamento. Se non riesci a capire quale sia l'app, prova a ripristinarla in fabbrica. Inoltre, se la batteria si sta scaricando così rapidamente, potrebbe benissimo essere una batteria difettosa.


Bene, il suggerimento generale è buono, ma in realtà non risponde alla vera domanda (diagnosticare l'utilizzo della batteria utilizzando logcat)
Andrew T.

@AndrewT. In generale, hai ragione. Ma considerando che OP vuole risolvere il problema, risolverlo su logcat è in qualche modo rendendolo un problema XY (nei limiti). Quindi, sebbene non corrisponda al 100% alla domanda "alla lettera", direi che si adatta al problema e offre un approccio per risolverlo.
Izzy

0

Esiste un modo per utilizzare i filtri o qualche altra funzione in cui posso limitare l'output di logcat alle statistiche relative solo all'uso della batteria?

Sicuro. Il modo più semplice è utilizzare il monitor del dispositivo da Android Studio. Il modo più complesso è utilizzare l'interfaccia della riga di comando per adb logcat (utilizza ANDROID_LOG_TAGS env var). Cf logcat riga di comando strumento di documentazione su developer.android.com.

Qualcosa come adb shell dumpsys batterystats> batterystats.txt può essere di migliore utilità per me? Se è così, come lo uso per ottenere quello che voglio?

Il consumo della batteria è principalmente a causa di alcune condizioni impreviste (errori nel condurre le applicazioni in loop all'infinito, dispositivi rilevati male che effettuano subottimali di accesso, ad esempio lettura byte per byte anziché Mb per Mb, ecc.). È necessario utilizzare la capacità di filtro di adb logcat per trovare tali condizioni impreviste. Ma tieni presente che tali strumenti vengono utilizzati principalmente da sviluppatori di app o piattaforme, e talvolta può essere un po 'complicato interpretare tali log. Tuttavia, il 100% dei ragazzi che ci sono riusciti, ha provato ;-)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.