2011-08-21 16 views
14

Su Gingerbread gli utenti possono segnalare le app per l'utilizzo della batteria, andando su Impostazioni -> Informazioni sul telefono -> Uso della batteria, quindi toccare un'app specifica.Rapporto sull'utilizzo della batteria Android per gli sviluppatori

La mia domanda è, in qualità di sviluppatore, dove posso vedere questi rapporti?

Appaiono molto utili perché contengono informazioni sul tipo di blocco della sveglia che potrebbe fuoriuscire.

+2

Wake Locks? Usa 'adb shell dumpsys power' o sui dispositivi rooted guarda https://market.android.com/details?id=me.kennydude.dev.urlopener&e -Qualsiasi altra cosa sul web sarebbe un'invasione della privacy dell'utente:) –

risposta

8

Siamo spiacenti, non credo che questa informazione sia attualmente disponibile. Viene raccolto, ma a questo punto non esiste un'interfaccia utente per gli sviluppatori per recuperarlo. (Questo vale anche per i rapporti sui servizi in esecuzione.)

+1

In effetti non è disponibile per gli sviluppatori; L'ho provato la scorsa settimana scrivendo un'app per la CPU-hogging, quindi riportando l'utilizzo della batteria. Ho visto un rapporto ANR che ho inviato nella Market Developer Console, ma non il rapporto sulla batteria. Certamente queste informazioni sarebbero utili agli sviluppatori per ricevere, per corroborare i commenti di mercato che lamentano un elevato utilizzo della batteria e per migliorare le loro app in generale. –

+0

grazie per la risposta! Spero che nel prossimo futuro saremo in grado di vedere sia i servizi di wake lock che i servizi in esecuzione. mi dispiace per la taglia che ero fuori dall'area internet e non potevo accedere :( – Erdal

+0

Sono passati 2 anni. Qualcosa è cambiato? Gli sviluppatori possono misurare l'impatto del codice specifico sulla batteria? –

5

Verificare PowerUsageSummary e PowerUsageDetail dal subdir fuelgauge nel Settings package. I metodi rilevanti sono reportBatteryUse() in PowerUsageDetail e processAppUsage() in PowerUsageSummary.

maggior parte delle informazioni proviene da un oggetto mstats che viene creato da una chiamata API interna:

import com.android.internal.os.BatteryStatsImpl; 
... 
mStats = com.android.internal.os.BatteryStatsImpl.CREATOR 
     .createFromParcel(parcel); 
mStats.distributeWorkLocked(BatteryStats.STATS_SINCE_CHARGED); 

non ho mai provato a chiamare questi metodi dal tuo non di sistema app, quindi bisogna sapere se funziona.

+0

è interessante ma risponde a una domanda leggermente diversa. Questo è probabilmente il modo in cui hanno raccolto queste statistiche, ma la mia domanda era, dopo che l'utente ha inviato queste statistiche a Google, c'è un posto dove noi, gli sviluppatori possono vederle? – Erdal

+0

Sei sicuro che ciò che hai capito in "report" riporta l'utilizzo della batteria? Non è solo la funzionalità di bug e log collector che appare anche su "Force Close" di un'App. Questi rapporti sono segnalati direttamente al proprietario dell'app tramite il mercato. – Flow

+1

Sono abbastanza sicuro che si tratta di dati sull'utilizzo della batteria perché ho guardato l'anteprima di ciò che sto inviando. Puoi provarlo tu stesso se hai un telefono che esegue il pan di zenzero. – Erdal