Android, GPS and Battery Consumption

536 views Asked by At

I have been handed an existing application that uses Location Services/GPS to track driving behaviour. I have been reading about the impact Location Services/GPS can have on the battery but am coming across some seemingly contradictory information. I would like to know which of the following descriptions is more likely to be correct.

  1. Having Location Services/GPS enabled and registering for updates is not, in itself, that expensive on the battery and that Location Services/GPS sucks about 35mA/hour. However, if you are doing a lot of processing on the location updates (say once a second) that is a more significant battery drain - file I/O, database I/O, processing on the differences between current and previous location update etc.

  2. Having Location Services/GPS enabled and registering for updates is keeping the device awake continually. Any additional processing (such as that described above) that you do while that device is awake will have minimal additional impact on battery drain...the mere fact that the device is continually awake is the main culprit.

Most apps (aside from audio/movie playback) do not do continual I/O and processing for minutes/hours on end. An app that records driving behaviour could do this so there is a need to determine how battery expensive these operations are compared to the simply adding the updates to an array in memory.

I appreciate fully that the situation described in scenario 1 is probably not ideal and that you would probably not design an app to be doing extensive processing and I/O with every Location update. If you were designing an app from scratch you would probably hold the updates in memory and do batch updates periodically.

So, given that scenario 1 exists in the app I have been asked to maintain, I wanted to be know if a rewrite to migrate to a batched solution would have any significant impact on battery life.

Thanks

0

There are 0 answers