[Android Q&A, Help & Troubleshooting] mr72:
The thing is, setting the max CPU to 864MHz is not going to affect the battery life much at all, and in fact may make it worse, depending on what you do with the phone.

The CPU already scales pretty readily in stock form to ensure that it doesn't hit the high CPU speeds unless there is sufficient load. And when there is sufficient load, odds are some other battery-consuming thing is happening at the same time, such as the screen being on or using network radios (or both!). So slowing down the processor, which is the least power-consuming of these three things (screen on is worst, radio usage next, then CPU), is counterproductive. This is because it forces the other things to take longer. So you slow down the CPU and as a result you have to keep the screen on longer and the radio talking longer in order to render that picture on the web site. This will not save battery. You will save more power by letting the CPU peak, get the job done, use all of that LTE bandwidth, and then stop accessing the network and let you get to reading the screen quickly as possible. Once you are not rendering or doing some other thing that consumes a lot of CPU, it scales itself way back. For example, just reading ebooks on my Nook Color, I can go like 12+ hours (got 17 hours out of it once). But that's with no network, and the CPU is very slow since all I am doing is looking at static pages. But if I play a Netflix movie, it lasts less than 2 hours. Network open, high CPU load due to rendering video, and the screen is on the whole time.

The major thing that kills your battery is what the phone does while it is in your pocket. That's why I suggest making changes that will reduce activity and power consumption while the screen is off. The only thing you can do to reduce power consumption while the screen is on is reduce brightness or just quit using the phone. The vast majority of the time the phone is on, it is screen off and in your pocket. This is where you need to reduce battery. And frankly you can tolerate quite a lot of low clock speed if all it is doing is idling. But be careful: if you slow it down too much then you will find that it can't load ring tones to ring the phone before the call goes to voice mail, or that it times out when checking your mail and you never get any email. So there's a careful balance between utility and battery life.

The real flaw with Android (which is getting a lot better, BTW, and may be much improved with ICS, I don't know) is the lack of a universal resource scheduler. There needs to be some kind of agent that drives the schedules of all apps and processes that use resources. For example, it would be best to turn off all of the data radios (3G/4G/LTE/WiFi) when they are not needed. The OS has the ability to turn them off and on, but an app, like your home screen widget or your email program, doesn't typically control this directly, and there is nothing to synchronize them. So if you have three apps that need data access on some regular interval like every 15 minutes, it would make a lot more sense to have some OS level agent responsible for gating this access therefore keeping the radios on only for the shortest possible time. Apps like Juice Defender aim to try and do this but from the app level it is just way too slow and unresponsive, winds up being counterproductive to battery life half of the time and making a major impact to utility. What I mean is, it sure makes sense to turn off data access and wifi etc. when the screen is off, and only wake it up every 15 minutes to check the mail or whatever. But when you turn on the screen and have to wait two minutes before the network is awake before you can check your facebook page, then there's two extra useless minutes of screen time that consumes more battery than you saved by turning the radios off.

iOS does a good job of this kind of thing but there is absolute integration of the hardware and software. Android is an open-source OS that runs on thousands of hardware platforms. It's pretty much practically impossible to get it as good as Apple does it, but I presume they are going to try. Far as I know they probably fixed a lot of this stuff already with ICS. I know GB fixed some of it (like GPS only comes on when an app needs it, etc.) so they are making progress. There's still a lot a user can do that will make it better.