Есть ли какой-либо Android API для получения статуса процессора и батареи?

Я работаю над своей диссертацией, и мне нужно изучить API Google Android, чтобы найти способ получить всю возможную информацию о процессоре и батарее (например, температуру процессора, % использования, уровень заряда батареи, потребление энергии, ...) .

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

Кто-нибудь знает какой-нибудь API от Android для измерения таких вещей?


person Marco10    schedule 10.10.2013    source источник
comment
Удачи. Фоновые службы и т. д. позволяют постоянно запускать несколько приложений, вам нужно будет выяснить, насколько приложение влияет на текущее потребление :) Приложения также могут вызывать нагрузку в других процессах, поэтому это не так просто, как проверка загрузки процессора для каждого процесса приложения. .   -  person zapl    schedule 10.10.2013
comment
да, я это знаю :) Идея в том, чтобы измерить среднее потребление энергии. Например, выполнить приложение 10 или 20 раз и получить нужные мне значения, а затем получить от них среднее значение.   -  person Marco10    schedule 10.10.2013


Ответы (2)


Чтобы получить уровень заряда батареи, вы можете зарегистрировать Intent для ACTION_BATTERY_CHANGED. Дополнительные сведения см. в Android Battery API. Если вы просто хотите получить температуру батареи, вы можете получить ее с помощью самого API. Я думаю, что у Android нет API для температуры процессора.

Тем не менее, вы можете прочитать температуру из /sys/class/thermal/thermal_zone0/temp. Это способ получить температуру в системах на базе Linux, и, поскольку Android основан на Unix, я думаю, вы сможете это сделать. хотя сам не пробовал

person Poojan    schedule 10.10.2013
comment
Большое спасибо! Думаю, это было бы действительно полезно. Я не думал об использовании файлов Unix для получения нужной мне информации, но это может быть хорошим решением. Знаете ли вы какие-либо другие советы по получению информации о процессоре из файлов Unix? - person Marco10; 10.10.2013

Ознакомьтесь с разделом Отслеживание уровня заряда аккумулятора и состояния зарядки. гид. Что касается ЦП, вы должны иметь возможность собирать некоторые данные из Systrace.

person schabluk    schedule 10.10.2013
comment
Да, я уже видел руководство по мониторингу (ссылка). ), и для батареи я могу использовать его. Но для ЦП я тоже думал об использовании API, а Systrace — это скорее инструмент: / Цель — преобразовать весь исходный код приложения и заставить его сохранять нужные мне значения, и для этого инструмент сложнее пользуюсь... Но спасибо за помощь :) - person Marco10; 10.10.2013