As of Kitkat (4.4) Android reports that my app is "High battery use".
I use Network Location as well GPS. If I disable GPS, then it seems the app gets marked as "Low battery use".
I'm wondering if there are any tips to using GPS while keeping the "Low battery use" label. Perhaps if you poll infrequently enough - or is it hardcoded to GPS = battery killer?
EDIT:
I understand that changing those parameters will conserve battery life. My question was more of whether Android will recognize these attempts at battery life conservation or will it simply brand my app as high power usage simply because it uses GPS.
Recently refactored to obtain the location of the code, learn some good ideas, and finally achieved a relatively perfect library and Demo.
Complete implementation: https://github.com/bingerz/FastLocation/blob/master/fastlocationlib/src/main/java/cn/bingerz/fastlocation/FastLocation.java
Mark:
I used the Fused Location (and [link removed]) and after a whole day of getting the location once every minute, my application used about 4% of the battery.
(Previous link is now a parking lot that tries to install browser extension: http://kpbird.com/2013/06/fused-location-provider-example.html?m=1)
Good question but repetitive. Yes, polling frequency does effect you battery life much. So the frequency of getting the location updates of the user should be tailored according to specific needs.
Basically is you read the android documentation of
requestLocationUpdates
of LocationManager, it says:requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent)
Please read following for some good answers on knowing how it drains and what can be done to minimize the battery drain:
Android Regular GPS Polling in Service, maximizing battery life
What's the most battery-efficient approach of using LocationClient to periodically get updates?
Good way of getting the user's location in Android
Save battery power consumed by gps services in android
Is location provider really a battery drain?
Battery life if using GPS and background app ios/android
Keeping a GPS service alive and optimizing battery life
Hope this helps.
Edit: I agree to @ioan. Now you can use Fused Location API to get the location easily and efficiently.