Android получает GPS-местоположение с фиксированным интервалом, насколько это влияет на батарею и что происходит в фоновом режиме. Если мы получаем местоположение в час - PullRequest
3 голосов
/ 08 июля 2011

При получении местоположения GPS с фиксированным интервалом (скажем, в час), это разряжает батарею каждый час, каждую минуту или только при фактическом получении местоположения каждый час или обновлении местоположения.Я хочу знать, что происходит в фоновом режиме.

Вот что эта ссылка говорит

"Фоновые службы должны быть осторожны при установке достаточно высокого значения minTime, чтобы устройство не потреблялослишком большая мощность, если постоянно поддерживать GPS или беспроводные радиостанции. В частности, значения ниже 60000 мс не рекомендуются. "

Поэтому я надеюсь, что при изменении местоположенияили после minTime, GPS-радио включено, и после определения местоположения, GPS-радио выключено

Кто-нибудь может подтвердить, что это правда?

Ответы [ 2 ]

1 голос
/ 04 июля 2012

Потребляемая батарея достигает своего пика в тот момент, когда менеджер местоположений пытается определить ваше местоположение (вы можете наблюдать мигание значка GPS в строке состояния в это время), и это происходит раз в час в вашем случае. Так что GPS автоматически перешел в состояние «недоступно», как только вы получите местоположение, пока ваш следующий час не будет достигнут ..

А строка «В частности, значения ниже 60000 мс не рекомендуется», потому что GPS требует некоторое время, чтобы указать ваше местоположение, обычно минута может быть в зависимости от силы вашего спутника. Так, если ваш minTime установлен в меньше минуты (60000 мс), как будто ваш GPS почти всегда включен ...

Подробнее читайте здесь

1 голос
/ 08 июля 2011

В соответствии с ссылкой мы можем решить, что использование дорогой батареи происходит, когда движок GPS пытается найти новое местоположение, и мы можем контролировать частоту этого использования, используя метод public void requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)

...