I was experiencing hideous battery life on my Evo even with a custom rom (as in only getting 7 to 8 hours of life with moderate use) (by moderate use you could say, basically my phone was in my hand when you look at me and i would probably perform 30-50 texts, surf the web and play some games or browse the market)...
Soooo I decided to start over. I left off apps I didn't really use b/c I noticed when running
Powertop (before starting over)in terminal through ADB I was seeing 2000 plus wakeups per second (powertop is a feature that fresh rom includes). So with that said if you root your phone and install
SetCPU and have the CPU limit to 384 mhz with the screen off and set the priority to 75 you will see increased battery life. also install
JuicePlotter and
JuiceDefender and place the widgets on one of your homescreen pages, enable juicedefender. These two widgets help you monitor your charge and discharge times, they start off at 0 percent accurate but over the course of a day or so become "100%" accurate. This setup with
fresh rom .53 is giving me 18-20 hours of battery life with medium usage.
One thing I have found that you will encounter is that even with background data on you still need to disable juicedefender (or change the settings) if you want to run pandora with your screen off. I was doing some yard work yesterday... it was 94 degrees, bright sun, phone being baked in my pocket and I ran pandora for 1.5 hours from a 95% charge and at the end of the 1.5 hours my battery was still at 86%.
*** So even with these apps mentioned above installed you can still have battery issues if you have "crappy" or "not-so-well" developed apps on your phone. ***
Advice for anyone having battery issues is that you start fresh, install JuiceDefender, JuicePlotter, SetCPU (you have to perform device selection and disable Perflock on every reboot)... I recommend then doing a nandroid backup and installing only apps you use or select apps at a time and you can always restore your nandroid if you have issues.
One of the key things in me figuring out how to perfect battery life was Powertop via fresh rom.
If you have fresh rom then you just connect phone to your computer, turn off the phone screen... wait like 10 seconds and then through adb:
adb shell
# powertop -d
it will run for 15 seconds and display the results. see
http://geekfor.me for further details on how to use that..
Now through Powertop I am only seeing 75-80 wakeups per second. (higher in screen shot due to using terminal on phone while @ work)
All in all my problem was apps apps and more apps causing hideous battery life.