- PVSM.RU - https://www.pvsm.ru -
Исследователи из Университета Пердью, занимающиеся вопросами энергетической эффективности работы приложений в Android (недавно они показали, что до 75% потребления энергии приложением относится к процессам показа рекламы в нем), выяснили [1], что многие приложения неправильно используют API по управлению питанием (wakelock).
Wakelock API в Android был создан для приложений, которым необходима работа процессов даже в тот момент, когда телефон находится в режиме ожидания. Например, почтовой программе нужно автоматически соединяться с сервером для проверки обновлений.
Однако профессор И. Чарли Ху отметил, что «программисты всего лишь люди, и когда они делают ошибки при использовании этого API, батарея может кончиться всего за несколько часов». Ученые назвали это «энергетическим багом отсутствия сна» (no-sleep energy bugs) — фактически он не дает устройству переходить в режим сна и оставляет его все время включенным.
«Вы не видите никакой разницы», — говорит профессор. «Вы кладете телефон в карман и думаете, что все прекрасно. Вы достаете его, а батарея уже умерла».
В ходе исследования они проверили 187 приложений и обнаружили такую ошибку у 42 программ. Это меньше четверти, однако каждое из них может вызвать существенные проблемы с потреблением энергии у смартфона.
Так как команда ученыз американская, а не британская, они не только указала на проблему, но и предложила решение — они модифицировали компилятор так, что он может определить наличие такой ошибки в коде. Его представят на конференции MobiSys 2012, которая пройдет в конце июня.
Автор: HugC
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/9804
Ссылки в тексте:
[1] выяснили: http://www.purdue.edu/newsroom/research/2012/120613HuSmartphoneBugs.html
Нажмите здесь для печати.