Ответ 1
Я использовал Fused Location (и вот пример), и после целого дня получения места раз в минуту моя заявка использовала около 4% батареи.
Как и в Kitkat (4.4) Android сообщает, что мое приложение "Высокое потребление батареи".
Я использую сетевое расположение, а также GPS. Если отключить GPS, то, похоже, приложение получает отметку "Низкое потребление батареи".
Мне интересно, есть ли какие-нибудь советы по использованию GPS, сохраняя ярлык "Низкий уровень использования батареи". Возможно, если вы опросите достаточно редко - или это жестко закодировано для GPS = аккумуляторный убийца?
EDIT:
Я понимаю, что изменение этих параметров позволит сэкономить время автономной работы. Мой вопрос был в большей степени о том, признают ли Android эти попытки сохранения батареи или просто примут мое приложение как использование высокой мощности просто потому, что он использует GPS.
Я использовал Fused Location (и вот пример), и после целого дня получения места раз в минуту моя заявка использовала около 4% батареи.
Хороший вопрос, но повторяющийся. Да, частота опроса сильно влияет на время автономной работы. Таким образом, частота получения обновлений местоположения пользователя должна быть адаптирована в соответствии с конкретными потребностями.
В основном вы читаете документацию по Android для requestLocationUpdates
LocationManager, в ней говорится:
requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)
Выбор разумного значения minTime является важным для экономии времени автономной работы. Для каждого обновления местоположения требуется питание от GPS, WIFI, Cell и других радиостанций. Выберите значение minTime как можно выше, сохраняя при этом разумный пользовательский интерфейс. Если ваше приложение не находится на переднем плане и показывает местоположение для пользователя, тогда ваше приложение должно избегать использования активного провайдера (например, NETWORK_PROVIDER или GPS_PROVIDER), но если вы настаиваете, выберите minTime 5 * 60 * 1000 (5 минут) или больше. Если ваше приложение находится на переднем плане и показывает местоположение пользователю, тогда вам нужно выбрать более быстрый интервал обновления.
Параметр minDistance также может использоваться для управления частотой обновлений местоположения. Если он больше 0, поставщик местоположения только отправит вашему приложению обновление, когда местоположение изменилось, по крайней мере, на minDistance-метры, и прошло не менее minTime миллисекунд. Однако провайдерам местоположения более сложно экономить электроэнергию, используя параметр minDistance, поэтому minTime должен стать основным инструментом для экономии времени автономной работы.
Пожалуйста, прочитайте следующие ответы на некоторые полезные ответы на то, как они истощают и что можно сделать, чтобы свести к минимуму разряд батареи:
Обычный GPS-опрос в службе Android, обеспечивающий максимальный срок службы аккумулятора
Хороший способ получить местоположение пользователя в Android
Экономия энергии аккумулятора, потребляемой службами gps в android
Является ли провайдер-провайдер действительно утечкой батареи?
Время автономной работы при использовании GPS и фонового приложения ios/android
Сохранение службы GPS и оптимизация срока службы аккумулятора
Надеюсь, что это поможет.
Edit: Я согласен с @ioan. Теперь вы можете использовать Fuse Location API, чтобы получить местоположение легко и эффективно.