First: I'm no expert. I'm just a guy who reads a lot of forums, talks to a lot of nerdy people, and likes to tinker. I can only share with you what I've read, or seen for myself.
Second: I take no responsibility for anything that happens to your phone. I didn't write any of the apps that I recommend, etc., etc.,
Third: Some of the Apps I use require you to be rooted. If you haven't done it already, you should do some reading and make the decision for yourself. It's not hard (Z4Root is a one click root, with unroot option), and has almost zero risk, especially now that RSDLite 4.9 and the SBF are available. Now don't ask me any more questions about rooting (here, anyway), as that's not what this thread is for.
Fourth: I obviously can't promise that what works for me will work for you (or anyone). Usage habits play a large role in battery life. To give you an idea, I work 8-12 hour days, 5 or 6 days a week. I use my phone as an mp3 player (with headphones) for almost the entire day straight, as well as text, email, a few voice calls, and some light web browsing during my lunch break. The majority of my usage is with the screen off, and data turned off which obviously increases my battery life. If you play games, or stream music constantly, my suggestions will only help, they won't get you battery life like mine.
Fifth: I have the Motorola BP7X extended battery. If you don't have an extended battery, you obviously won't see battery life like mine, but my instructions should help prolong yours. I still regularly see >24 hours to go from 100% to 30% or so on my stock BP6X battery.
If you want to buy an extended battery, you should know that you can't use the battery door with any case on the market right now, but if you take it off, the battery fits PERFECTLY inside, with any case that I've tried.
If you have a WHITE D2G, you need this extended battery and battery door, which is for the Droid R2D2, but the white matches perfectly. The model number is the same as the regular one, but with a W on the end, if you go to the VZW store and they don't know about it, you can tell them that and they should be able to look it up.
If you have the BLUE D2G, you need this extended battery and battery door, which is the matching blue.
Before we begin, here are some articles I think you should read:
Your battery gauge is lying to you, and it's not such a bad thing.
Android task killers explained, and why you shouldn't use them
If you use a task killer, I won't answer your questions in this thread, because I'm being very explicit when I say: Task killers are bad for your battery life, and unnecessary in Android 2.2.
Ok, first off, things you can do without downloading or installing any apps:
1. Settings -> Wireless and Networks -> Mobile Networks -> Network Mode -> CDMA if you're in the US and don't plan on going global with your phone. You can set System Select (right underneath it) to automatic, assuming you have a nationwide plan. Some say that the GSM radio is only turned on to search for a signal when there is a weak CDMA signal, but I figure why risk it?
2. Settings -> Battery Manager -> Battery Mode -> Custom Battery Saver (Click the little gear next to it to access the settings)
Set your off peak hours according to your usage. I don't often use my phone once I'm home for the night, or before I go to work, so my off peak hours start at 10PM and end at 8AM, with data set to go off after 15 minutes. During peak hours, data is set to always on (never know when I might ACTUALLY be using the GPS, or streaming music or something).
Set the display brightness to fairly low after the battery <30%. For reference, I keep my screen at 28% brightness, and have that slider down around 15%.
3. Settings -> Data Manager -> Background data
You can uncheck this, but certain apps won't work, like the market. I generally keep both Background Data and Data Enabled unchecked except for when I'm actively using data. I have a shortcut on my home screen to this screen, so that I can disable them quickly. The advantage to turning your data off this way, instead of with most apps/widgets is that it actually turns off power to the 3G radio, whereas most apps/widgets simply change the APN, which doesn't actually turn the radio off. To make a shortcut, long press your home screen, choose activities, go to Data Manager, and it's the first process. If you MUST have a widget, I've found that SMODA Widget in the market works in the proper manner.
4. Settings -> Display
Turn off auto brightness. Set your screen to the minimum you can live with. I keep mine at 28% and it's usable outside, in sunlight, 99% of the time. (That's important, because I live in Florida). When it's not, I have an app that I use to quickly bump it up, but I'll get to that later.
Go to Animation -> No animation
Screen timeout -> Again, the minimum you can live with. I have mine at 15 seconds, but I use an app to keep the screen on when the phone is in use (as detected by motion and/or the orientation of the phone.. Again, I'll cover that later)
In Pocket Detection: I don't know if it actually saves battery, but I recommend you turn this off. The forums are littered with stories of people whose phones turn the screen off when their finger gets too close to the sensor, and I found that whenever I forgot to turn the screen off and put the phone in my pocket, the phone never turned it off anyway, so what's the point?
5. Settings -> Wireless and Networks -> Wifi Settings then press your menu key (the haptic one, at the bottom of the screen) and press advanced. Set your wifi sleep policy to never. This means that when you turn wifi on, your phone will ALWAYS try to send data over wifi first, which uses less battery than 3G. HOWEVER, if you are NOT in range of a wifi network that you can connect to, this will COST you battery life, as your phone will poll for an open network more often. So if you do this, remember to turn your wifi off when you're done with it.
Ok, next: Bloatware. We all know the D2G comes with lots of Verizon crap installed that we don't want/need/use. Theoretically, this stuff shouldn't really tie up system resources, because android 2.2 should kill the stuff whenever it needs those resources. Well, the nerd in me isn't happy with that, I want that stuff gone. HOWEVER, you NEED all of the stock bloatware (Amazon, Kindle, Blockbuster, CityID, VZWNavigator, etc etc) to get any updates from Verizon. The reason for this is that the updates run as patches, so they look for the original system files, then update them. If ALL of the system files aren't there, the patch won't run (In fact, your phone won't even perform the CHECK for updates).
So your options are to root your phone, and then use a root explorer program to find all the .apk files for this bloatware and change their names from CityID.apk to CityID.bak or something like that, so that they won't run, but when you want an update, you can go back and rename them to .apk. However, this is tedious. I use an app called Titanium backup to freeze these programs. It does essentially the same thing, but with a nice gui, and the ability to do backups of your apps and/or data, as well as doing it on a schedule if you choose.
List of things I have frozen in Titanium backup:
(Note, again, I take no responsibility for any of these causing instability in your system, but this works FOR ME with no problems)
3G Mobile Hotspot 2.2
Admin Notifier 2.2
Amazon MP3 1.8.14
Android Live Wallpapers 2.2 (Obviously, you need this if you use live wallpapers)
Backup Assistant 2.2
Backup Assistant Client 1.0 (Need these if you use BA)
Calendar Service 2.2
Calendar Storage 2.2
Calendar Sync Adapter 2.2.1
Email 2.2 (Note: DO NOT freeze Email Client, it will make your text messaging non-functional)
Emergency Alert 1.0.0
Global Phone Authorization...Mode Switch 2.2 (If you won't go global)
Global Unplug 1.0: (This used to kill the "unplug your charger from the outlet" message, but since the last update, it doesn't... oh well)
Help Center 2.2
Home Screen Tips 2.2
InPocket 2.2 (This never worked right for me, so screw it)
Live Wallpaper Picker 2.2 (Again, if you use Live Wallpapers, don't freeze)
Magic Smoke Wallpapers 2.2
Manage Sim Card 2.2 (If you're not going global)
News and Weather 1.3.01
Print to Retail 1.0
Quick Office 3.3.67
SIM Contacts 2.2
SIM Toolkit 2.2
Skype Mobile 220.127.116.11
Social Networking 2.2
Social Sharing 2.2
Social Status 2.2
Sync Service 1.5.7
Toggle Widgets 2.2
Voicemail 1.1 (But holding 1 to check your voicemail still works)
VPN Client 1.0
VPN Services 2.2
Work Contacts 2.2
World Clock 1.0
Yahoo Contacts 2.2
Ok, that's bloatware gone.
Next up, Apps I have installed to help improve my battery life.
1. Battery Indicator Pro doesn't really improve my battery life, but it's a nice app to have for monitoring it. It can place another battery indicator in your notification bar, with a text readout of the battery percentage, as well as color indicators. It can also display a window with approximate usage times left (Unfortunately, the usage times are set based on user defined times, not actual predictions, but it's still cool, if you have a good baseline to plug in).
It looks like this in your notifications bar: (The battery icon changes colors to yellow and red when the battery hits levels you define)
It looks like this when you click on it:
The View Battery Use button takes you to the stock battery manager for a detailed rundown of battery runtime, usage statistics, etc.
As you can see, it also has an option to disable the lockscreen, which works well, but seems like an odd additional feature haha.
2. Quicksettings is a nice, free app for one click access to toggle things like GPS, WiFi, Bluetooth (And data, but it does the APN trick, so I don't use it for that), as well as adjusting things like volume, ringer, brightness, etc, AND it's got a built in flashlight. It's on my homescreen, and I love it. For maximum battery life, I keep ALL my data (including 3G) off except when I'm actively using it. I'm not important enough to need true push email, and when I'm at work, I'm generally too dirty to want to do a lot of emailing anyway.
3. Screebl Pro is an app that monitors the orientation of your phone, and when it leaves certain, user defined ranges (different for portrait/landscape) it turns the screen off. But if the phone is being moved, or within those ranges, it will keep the screen on. This lets you set your screen timeout super low (15 seconds), without being constantly annoyed by the screen going off when you're browsing webpages, emails, etc. It also SAVES you battery life.
4. SetCPU lets you set different profiles for your processor, based on different variables (how full the battery is, if it's plugged in, WHAT it's plugged into, if it's too hot, etc). SetCPU require root access. SetCPU lets you set a profile that has a maximum and minimum processor speed while the phone meets those conditions. It follows your profiles in order of priority. Obviously, the higher the priority, the higher the precedence. So for example, mine is set to 600MHz/300MHz(max/min) when the screen is off, but 1200MHz/300MHz when it's plugged in or fully charged (>60% battery). The screen off profile has a higher priority, so even if the phone is plugged in, it will throttle to 600/300 when I turn the screen off. You can tinker with these settings yourself. The priority numbers don't matter (as far as I'm aware) so long as they're in the right order numerically. Scaling should always be ondemand (that is, the system will speed up the processor as there is a demand for more power).
My profiles, in order of priority from highest to lowest:
Temp > 42.0C 600/300 (~40C is where performance starts decreasing and the battery actually drains FASTER, but I've read that the batteries are rated SAFE up to 60C)
Charging AC/Full 1000/300 (This is to keep it from getting too hot while charging from the wall charger, which provides ~850mA vs the ~500mA that a USB charger delivers)
Charging/Full 1200/300 (This is the standard profile, when the battery is >60%, and not plugged in)
Battery <16% 600/300
Battery <31% 800/300
Battery <41% 1000/300
Remember, the system can only read the battery values in multiples of ten (down to 20%, then it can read 15%, 10%, 5%, I believe), so that's why I have the steps at 16, 31, 41.
So, what does all this do for me? Well, last night, I got my brand new BP7X in the mail (with the white battery door, I originally got the blue one, cuz I'm a tard), I plugged it in until it was 100% and I pulled it off. I haven't used it a whole lot, so this isn't NORMAL or anything, but here's how it looked this morning before I ran off to work:
Here it was at 2:30
I'm currently at 17h 29m 48s since unplugged, and at 90% battery.
I don't have many more screen caps, but here's one from the other day, when I was using my stock BP6X battery, while waiting on my new BP7X to come in the mail:
I think that just about covers it, for now. As I think of things, I'll edit this post. Feel free to add your input, I'll edit good things into the original post, and when we feel like this is pretty comprehensive, maybe we can get a mod to sticky it?