[Vibrant Android Development] Fasst2001:
As far as battery life, I'm tracking it down. I know a lot of you are experiencing massive/quick drain also. Normally, I would unplug my phone and lose 2% automatically and by the time I got to work I would already be at 84% and I hadn't even used the phone yet. I did battery calibration and reboots after unplugging and every once in a while I would get a good day of battery life, but not very often. This is what I've done and my phone has been much better. For the last couple days I can go two and a half to three hours and using the phone moderately and it remains in the 90% battery range. I also had a lot of lag and freezing and I thought it was somehow related the the rom and ICS, but it turns out that some apps were just always activating in the background and constantly consuming 100% of my CPU.

I downloaded Better Battery Stats and Diagnosis from the market. I turned on Diagnosis (and activated the database tracking so I could see app usage stats). Using display option #3 in Diagnosis overlays your CPU and RAM % usage in the top left and overlays any process that suddenly uses a lot of CPU on the top right in yellow. Then, I went to the phone settings and developer options and turned on CPU usage tracking and it overlays the processes that are currently running and using CPU and how much they are using.

I monitered both overlays and the partial wake locks in the battery app for about half an hour straight. As I saw the apps that were constantly starting and stopping and using a high amount of CPU, I would uninstall them. This finally brought me down to a respectable level. There are a few more offenders, but they are nearly as bad as the ones I removed.

1. Widgets in general will drain your battery quicker with their updates. That's a given. Try and keep them to a minimum and set their update intervals to an hour or more and you can manually update them when you need to.

2.Turn your GPS off if it's not working properly or you don't use it. I know we have issues with it if you turn it off or after the phone sleeps, but I found that it's a HUGE battery drain when it's on and not working properly (constantly trying to lock on and find your location. Widgets like weather and Facebook try and get your location often from GPS). Once I turned mine off, my battery life was greatly improved.

3. The native email app using Exchange is just bad from my experience. The Exchange service is always running and won't let the phone sleep. It seems like it keeps a constant wake lock. I moved to Touchdown for Exchange and K9 Mail for my alternate email accounts. Although K9 does get stuck in a wake lock sometimes too, but it's much more efficient. If you use K9, just keep an eye on it and if your battery starts draining unsually, I'd bet K9 is stuck in a wake lock and you should kill it.

4. The biggest CPU munchers that I uninstalled were the official Facebook app, the Amazon App Store and Score Center. They were constantly activating and deactivating (I assume to check for updates even though I had the update intervals set really high or completely off) and keeping the CPU at 100%.

5. I don't use the official Twitter app or some apps that you may use so there may be others that are guilty of consuming your CPU that you will find if you use these methods. I also uninstalled Watchdog on mine as well because it was using more resources than I liked and it was mostly to notify me when Amazon was using too much CPU (which was about every 5 minutes :)).

So, now I'm trying out Seesmic and some alternative apps and widgets to see how they fair on the battery drain issue. As of right now, I'm getting a good 12-13 hours (up from about 5-6) of battery life and I use my phone moderately and my son plays some games on it here and there. I hope some of this info can help a little because it was driving me nuts too. Now, if we could only get that pesky LSOD taken care of. :)