У меня есть приложение, которое работает на Windows Mobile и использует GPS для обновления своего местоположения через различные промежутки времени. Как и ожидалось, включение чипа GPS требует больше энергии аккумулятора. (не ах..)
Так что в настоящее время моя техника заключалась в том, чтобы циклически включать/выключать GPS прибл. каждые 4 минуты, чтобы узнать местоположение, сделать что-то, если что-то изменилось, и обновить свое местоположение в Интернете только в случае необходимости. В противном случае снова выключите его и подождите.
На моем годовалом телефоне HTC Touch Diamond со свежей зарядкой, оставив экран ВКЛЮЧЕННЫМ (но затемненным), + WiFi и ничего не делая, кроме как оставить его там, я получил от него максимум 6 часов.
Это «хорошо», но использование GPS легко сокращает оценку на 2-4 часа обычного «реального» использования (YMMV).
Другой вариант, о котором я думал, заключается в том, чтобы вместо этого веб-сервер сигнализировал телефону обновлять свое местоположение, когда это необходимо, вместо того, чтобы телефон делал это вслепую.
Таким образом, телефон использует энергию только для подключения к данным и проверки сервера. Если сервер говорит ему обновиться, только тогда он включает GPS.
За исключением того, что время отклика этого намного медленнее (я предполагаю), и если телефон находится где-то, он не может легко получить стабильное обновление, то вы даже не будете знать его последнее местоположение. В этот момент вы застряли в ожидании.
Я надеялся, что телефон может быть более автономным.
Возможно, есть еще лучший алгоритм, который я мог бы использовать для улучшения этой настройки?
Спасибо.