So, battery life on my phone (and my family's phones) was pretty crap last week. Power just seemed to drain away and away, meaning that the phones had to be charged more frequently and the charging was slower.
And we fixed it.
It turned out to be the wireless access point.
What was happening was the phones were losing connection to the wireless at odd moments, so they'd do what the phone does, and switch to mobile-data. Then they'd reestablish the wireless connection and switch back to that. This seemed to happen more often when the phone was idle than when it was actively in-use.
The thing is, that every time the phone does this (it is called 'Changing Network State') there's a whole bunch of apps get notified. Facebook wants to quickly check in on its servers, Google+ ditto, and your calendar, your weather app, and so on and so on and so forth.
There's a whole lot of things suddenly fire up when your phone switches from a working wireless connection to mobile data. And again, going the other way.
In Android, most of the communication that happens between those apps on a network state change is handled by a piece of middleware called Google Play Services. So, when you're looking at your battery-usage wondering what is using all of the power, that's the app/service you see at the head of the list. It is there because it is doing the heavy-lifting for a bunch of other, excitable applications.
So, you think (and I thought too!) that Google Play Services is doing something weird or wrong. Not so!
I hadn't thought much about the intermittent wireless connection. I'm using a custom ROM (a Cyanogenmod nightly build), so I thought my intermittent connection might be because of a glitch in that. It wasn't until I found out that the rest of the family was having intermittent wireless problems that I looked a bit deeper. Rebooting the wireless router made the problem go away.
Next day, battery usage when the devices were idle was pretty minimal, and perfectly normal again when in active use.
So, the battery drain was all down to network state changes. I guess that might be a problem if your device is switching between various networks and such as you travel as well.
Something to watch out for.