Отчет об использовании батареи Android для разработчиков

На Gingerbread пользователи могут сообщать приложениям об использовании батареи, перейдя в «Настройки» -> «О телефоне» -> «Использование батареи», а затем нажмите на конкретное приложение.

Мой вопрос: как разработчик, где я могу увидеть эти отчеты?

Они кажутся очень полезными, потому что содержат информацию о том, какой тип блокировок слежения вы можете утечь.


person Erdal    schedule 21.08.2011    source источник
comment
Пробуждающие замки? Используйте adb shell dumpsys power или на рутированных устройствах просмотрите market.android.com/details? id=me.kennydude.dev.urlopener&e - Все остальное, как в Интернете, было бы вторжением в частную жизнь пользователя :)   -  person Joe Simpson    schedule 27.08.2011


Ответы (2)


Извините, я не думаю, что эта информация в настоящее время доступна. Он собирается, но на данный момент у разработчиков нет пользовательского интерфейса для его извлечения. (Это также верно для отчетов о запущенных службах.)

person hackbod    schedule 28.08.2011
comment
Действительно, это недоступно разработчикам; Я проверил это на прошлой неделе, написав приложение, загружающее процессор, а затем сообщив об использовании батареи. Я видел отчет ANR, который я отправил в консоль разработчика Market, но не отчет о батарее. Конечно, разработчикам будет полезно получить эту информацию, чтобы подтвердить комментарии Маркета, жалующиеся на высокое использование батареи, и улучшить свои приложения в целом. - person Christopher Orr; 30.08.2011
comment
Спасибо за ответ! Надеюсь, в ближайшем будущем мы сможем увидеть и отчеты wake lock, и запущенные сервисы. извините за награду, я был вне зоны интернета и не мог войти :( - person Erdal; 30.08.2011
comment
Прошло 2 года. Что-нибудь изменилось? Могут ли разработчики измерить влияние конкретного кода на батарею? - person AlikElzin-kilaka; 04.08.2013

Ознакомьтесь с PowerUsageSummary и PowerUsageDetail из подкаталог Fuelgauge в < href="http://android.git.kernel.org/?p=platform/packages/apps/Settings.git;a=summary" rel="noreferrer">Пакет настроек. Соответствующие методы — reportBatteryUse() в PowerUsageDetail и processAppUsage() в PowerUsageSummary.

Большая часть информации поступает из объекта mstats, который создается внутренним вызовом API:

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

Я никогда не пытался вызывать эти методы из вашего собственного несистемного приложения, поэтому вам нужно выяснить, работает ли оно.

person Flow    schedule 23.08.2011
comment
это интересно, но это отвечает на немного другой вопрос. Вероятно, именно так они собирали эту статистику, но мой вопрос заключался в том, что после того, как пользователь отправит эту статистику в Google, есть ли место, где мы, разработчики, можем ее увидеть? - person Erdal; 23.08.2011
comment
Вы уверены, что то, что вы понимаете под отчетом, действительно сообщает об использовании батареи? Разве это не просто функция сбора ошибок и журналов, которая также появляется при принудительном закрытии приложения. Эти отчеты передаются непосредственно владельцу приложения через рынок. - person Flow; 24.08.2011
comment
Я почти уверен, что это данные об использовании батареи, потому что я просмотрел предварительный просмотр того, что я отправляю. Вы можете попробовать это сами, если у вас есть телефон с работающим пряником. - person Erdal; 25.08.2011