как минимизировать разрядку аккумулятора при интенсивной работе - PullRequest
4 голосов
/ 05 января 2010

Я хотел бы создать службу, которая будет что-то делать при возникновении «горячей ситуации», а под «горячей ситуацией» я имею в виду следующее:

  • GPS / координаты ячейки находятся в известной зоне
  • обнаружено известное устройство Bluetooth
  • обнаружена известная сеть Wi-Fi
  • Информация о погоде изменилась
  • обнаружено значительное изменение ускорения устройства: например. от прогулки до поездки на машине.

Как можно видеть, эти задачи являются "тяжелыми" и будут выполняться часто - скажем, 15 минут, но иногда даже больше - когда мне придется обнаружить ускорение устройства.

Вопрос, который у меня возникает, заключается в следующем: будет ли этот сервис сильно разряжать батарею?

Если да, то какие рекомендации вы бы порекомендовали свести к минимуму разряд батареи при выполнении описанных выше задач?

Ответы [ 2 ]

13 голосов
/ 05 января 2010

Это может вас заинтересовать:

Кодирование для работы от батареи

2 голосов
/ 05 января 2010

GPS является лучшим источником заряда батареи - если он включен постоянно, продолжительность работы батареи, вероятно, сократится до половины. Беспроводное соединение также довольно большой сток. Если ваше приложение работает через сотовую сеть, то, если телефон подключается к 3G, это, вероятно, истощается так же быстро, как и беспроводное соединение (возможно, даже больше) ...

Я бы предложил переосмыслить использование вашего сервиса. Возможно, превратите его в приложение и попросите пользователя явно включить его, когда он думает, что находится в «горячей ситуации». Оставьте его как службу, и пользователь может начать думать о вашем приложении как о какой-то сбойной программе, и это серьезно повредит вашим загрузкам / продажам.

Кроме того, для отслеживания использования батареи ваших приложений вы можете посетить «Панель использования батареи», которая находится в настройках Android.

...