2
votes

Question: Does the Significant Location Change background service drain battery easily? I'm trying to track longitude latitude readings when the there is a Significant Location Change. However, before starting, I just want to make sure that this doesn't drain the battery.

If the Location service described above does not drain battery, can someone recommend a way to store the location changes that would be battery efficient. My initial thought was to store the longitude latitude points locally on iPhone and then send the information to the server on a much less frequent basis (2 hours). Anyone have a better approach?

I'm trying to build a simple location tracking app that is battery efficient. Thanks all.

2

2 Answers

3
votes

Significant location changes do not take any extra battery draining because the device uses information that the GSM system is working with anyway. It has to keep track of signal strength readings of multiple cell towers all the time anyway. Your app is only started/woken when certain criteria are met.

To conserve battery you have to watch two subsystems:

  • make sure that CoreLocation is turned off when you don't need it, GPS takes the most
  • make sure that you send location data to your server in bursts, to allows the transmitter to power down.

2 hrs might be too much because the user might be terminating the app and then the updates would never be made. Or if you implement an offline queue, they would only be sent next time the app is started. But that depends on your specific scenario.

1
votes

It should be cellular tower triangulation, and not GPS location, which is more than enough for your needs. It shouldn't be battery heavy at all.
Same with uploading the location, do it rarely and you are fine.

Edit: Confused Core Location with Significant Location.