Pull to refresh
0

API по управлению энергией в Android может вызвать повышенный ее расход

Reading time 1 min
Views 16K
Исследователи из Университета Пердью, занимающиеся вопросами энергетической эффективности работы приложений в Android (недавно они показали, что до 75% потребления энергии приложением относится к процессам показа рекламы в нем), выяснили, что многие приложения неправильно используют API по управлению питанием (wakelock).

Wakelock API в Android был создан для приложений, которым необходима работа процессов даже в тот момент, когда телефон находится в режиме ожидания. Например, почтовой программе нужно автоматически соединяться с сервером для проверки обновлений.

Однако профессор И. Чарли Ху отметил, что «программисты всего лишь люди, и когда они делают ошибки при использовании этого API, батарея может кончиться всего за несколько часов». Ученые назвали это «энергетическим багом отсутствия сна» (no-sleep energy bugs) — фактически он не дает устройству переходить в режим сна и оставляет его все время включенным.

«Вы не видите никакой разницы», — говорит профессор. «Вы кладете телефон в карман и думаете, что все прекрасно. Вы достаете его, а батарея уже умерла».

В ходе исследования они проверили 187 приложений и обнаружили такую ошибку у 42 программ. Это меньше четверти, однако каждое из них может вызвать существенные проблемы с потреблением энергии у смартфона.

Так как команда ученых американская, а не британская, они не только указали на проблему, но и предложила решение — они модифицировали компилятор так, что он может определить наличие такой ошибки в коде. Его представят на конференции MobiSys 2012, которая пройдет в конце июня.
Tags:
Hubs:
+25
Comments 37
Comments Comments 37

Articles

Information

Website
apps4all.ru
Registered
Founded
Employees
11–30 employees
Location
Россия