in my application i need to track the position of my device. The localization must run in a long life background service (it extends android.app.Service). I need a good tradeoff between accurancy (in meters) and battery usage. The accurancy of my application is around 40-50 meters. I found a documentation that with the new fused location the location system (GPS, wifi tracking and so on) improve accurancy and battery drain.
http://www.intelligrape.com/blog/2014/07/17/googles-fused-location-api-for-android/
In particular i focused on the balanced profile (accurancy around 40 m based on wifi and cellular cells). The documentation shows that the % usage of the battery should be 0.6% per hour. My test cases show a usage around 4% per hour.
Here an example of my code:
_locationRequest = LocationRequest.create();
_locationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);
_locationRequest.setInterval(60 * 1000);
LocationServices.FusedLocationApi.requestLocationUpdates(_googleApiClient, _locationRequest, this);
and the AndroidManifest.xml
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
Since the documentation shows an usage (BALANCED_POWER 20 seconds 0.6% ~40 meters) and since my application uses BALANCED_POWER 60 seconds, why my application (based on my test) seems to drain so much? What i'm wrong?
Thanks in advance