[Nexus 5 General] PhilipL:
Hi

The battery drain caused by these wake-ups and wake-locks are all to do with Google Location services. Specifically when Wi-Fi location services are enabled, in Kit-Kat terms this is High Accuracy and (ironically) Battery Saving modes. GPS is considered a high battery user, but it may not be the worse offender.

When we agree to use Googles Wi-Fi database we agree to send data to Google. This enables the following back ground tasks:

1) Building and updating Googles Wi-Fi database when High Accuracy is selected. Background services will wake the phone, look for Wi-Fi access points nearby, then fire up the GPS to get a precise location, and send that data back to Google, Google uses this to identify Wi-Fi access points and their locations to continually update it's database. They don't drive around in cars any more to collect this data. I'm not sure anyone knows the schedule for this, and it seems sometimes this happens a lot, other times this activity dies away. Perhaps the more we use the Wi-Fi database lookup for locations, the more Google will use our phone later for keeping that database up to date. No such thing as a free lunch.

2) Google doesn't just collect data as to where we are, but it also collects data about how we get to where we are. Some of us will have seen cards in Google Now telling us how much we cycled, ran or walked. In order to work this out, our phones must wake regularly (every n seconds) to do a location lookup to work out the distance we travelled and so the speed we are travelling at. From our location and average speed Google decides if we are walking, jogging, or in a car or train. No doubt there is some attempt at backing off these wake-ups to save battery power, for example if the phone hasn't moved in several hours it will sample less often. Note it doesn't seem to matter if you consume this data, e.g. someone doesn't use Google Now, Google are still gathering and recording this data for their marketing purposes and data mining.

3) Traffic. When Google works out we are travelling by road Google will ramp up sampling rates. Google will gather location data from us, again whether we use that data ourselves or not, to work out congestion and hold-ups on the road and then offer those using Google navigate new routes to avoid problems and hold ups. All of us with an Android device are GPS trackers for Google traffic services.

It has not always been like this, it is only recently Google has ramped up the collection of location data. Google suggest their location framework will use on average no more than 1% of battery power an hour, over 24 hours that is almost a quarter, it adds up. If reception is not good then the constant chatter of data back to Google services could see the phone using a lot more.

The problem with all 3 above is the usage isn't always predictable. So messing around with a few settings might see an improvement for a while, but generally these wake-locks just come back.

The only way to stop these wake-locks is to turn off location services, either completely or just use GPS mode.

This is why using GPS only can now save battery. Modern GPS chips use less power and lock-on quicker, often working in some buildings as well, and avoids having Google use our phones as location trackers.

Regards

Phil