As I mentioned in my first post, there are a lot of obvious causes of poor battery life. Unfortunately, there are many other causes of battery drain that are not so obvious. In this post I'll talk about finding those problems and addressing them.
1. Battery Stats are your friends and the graphs provided in Ice Cream Sandwich are quite useful once you know how to use them.
Main Battery Screen - This screen shows you the estimated charge remaining (80% here), the time on battery (5h 34m 34s), and then breaks down the biggest users of the battery by percentage. Typically you will find Screen and Android OS at the top of the list.
Battery Graph - If you click on the picture of the graph itself, it will bring up another screen that offers you a more detailed look at the phone's discharging process. Mobile Network Signal gives you an idea of the signal strength throughout the day thus far. Green is strong, then bright yellow, dim yellow/grey and red. You may notice on your phone that the battery discharges more quickly with a poor signal as the phone tries to boost power to maintain the connection. The next two lines I am going to focus on are really critical to battery life. "Awake" and "Screen on". Awake refers to times when the phone's CPU is operating (ie awake) and Screen on refers to times when the screen is turned on (obviously). What is really important here is to watch out for periods of time where the phone is Awake but the Screen is NOT on. This indicates some background process running that is draining battery while you aren't using the phone actively. This is pretty normal, so long as its not excessive. If you are seeing lots of awake time that doesn't correspond to Screen on time you may have an issue. Streaming music and receiving emails/texts etc are perfectly normal background processes. In my next post I will focus on using some free apps to help identify what processes/apps are hogging your battery in the background.
Here's a closeup of the Awake and Screen On lines. You can see how almost all the awake time lines up with times the screen is on. This is what you want.
Android OS - Android OS simply tells you how long the CPU has been running (in total) since you unplugged and how much time it has been "kept awake". As you may notice, Keep awake time tends to exceed total - yes, it seems an odd way to report usage but that's what we have. Its perfectly 'normal', at least according to what many users are seeing, to have several hours of Keep Awake time. I regularly see 2-3 hours after 16 hours unplugged. If you are seeing WAY more than that, you may have an issue. Again, we'll focus on that in the next post.
Hope this has been helpful so far.