This is from another forum. I don't think I'm allowed to link or mention forum names? Zero credit to me:
this solution was found in the nexus one android development in XXXXXXXXXXXX. so i dont take credit for this... but it worked on my nexus ...
have d new cyanogen eclair rom on it,
but i got 20 hrs of battery n still have 50 %.
mild texting and calls, took a 4 min video, uploaded it to youtube, downloaded 5-6 apps, mild surfing, tried the new mozilla fennec browser(lame), and the dolphin hd browser(superb!!)
had setcpu min & max 1180mhz
so... this is a good fix!
here is the link to the original thread on xda nexus one page
[SOLVED] ALL 2.1 ROM BATTERY Life Problem FIX...(some results) + EXTRA OPTIONS TO TRY - xda-developers
basically, what u have to do is
go to settings, about phone, battery, battery use, cell standby, tap on cell standby and you will find 'time without signal' (if your phone has been ON for atleast 30 mins). if this is more than 30 %, thats whats draining ur battery.
(see attached pic)
so..
1) Goto dialer and dial *#*#4636#*#* (DO NOT press send)
wait a second and you will get the test menu.
2) In the test menu choose 'Phone Information'
3) scroll down and choose on the first drop down -GSM only or cdma only or wcdma only. whatever you choose, wait 5 seconds and look on ur notif bar if u get ur 3g back (or E).
4) Back all the way out.
5) You might want to reboot, but I found the settings worked straight away.
after you reboot, wait like an hour or so and go back to settings, about phone.. blah blah and find 'time without signal'. if it is lower than what u saw before... it worked!!!!
mine was 44% before and after it was 0%
and i used cdma only.
but to round up..
gsm only - best battery, less speed
cdma only - good battery, fastest internet
gsm auto or cmda auto - good battery, fastest internet
try this out guys... c if it works!