[LG Optimus Black] zubyro:
Some of this advice is based upon our current understanding of bugs in CM9 and how to best workaround causes of battery drain until the developers are able to fix their causes. If you have suggestions for further improve this guide, please reply.

Power Saving Options

Google Talk is logged in by default.

You probably did not want this? Go into the Talk app, hit Menu button and Sign Out.

Turn off haptic feedback and touch sounds

By default the phone vibrates when you touch menu options or type on the onscreen keyboard. Vibration uses a lot of power. Sounds when you touch the screen also use a little power.

- Settings > Sound > scroll down to System

Dial pad touch tones - many users like it, others turn it off so it is silent when dialing the phone to avoid bothering other people.

Touch sounds - default touch sound is very subtle so many choose to keep it. You can save a little power if you turn it off

Screen lock sound - also subtle, I personally keep it.

Vibrate on touch - strongly recommend to turn this off if you want to maximize battery life.

- Settings > Language & input > Android keyboard > toggles to the right of it

Vibrate on keypress - turn this off to maximize battery.

Alternatively, you can make the vibration much smaller in Advanced settings near the bottom. Keypress vibration duration settings of 5ms is nice. It is a tiny reaction you can feel from pressing an onscreen keyboard button.

Turn off LED Notifications

- Settings > Display > Pulse notification light

Blinking LED notifications are nice. Unfortunately, the Epic CPU is unable to sleep while blinking the LED because it relies on software timers. For this reason, it is strongly recommended that you turn off LED notifications entirely if you wish to maximize battery life. As measured by CPU Spy, maximum CPU deep sleep can jump from 65% to over 95% with this option turned off. You can still hear the notification chime and vibration when you have an incoming message.

- Settings > Display > Pulse low battery light

You may also want to turn this off for the same reason. If you do not, the battery will drain even faster when the battery is already low.

Put Wifi to Sleep while phone is sleeping

- Settings > Wifi (touch the icon on the left) > Menu button > Advanced > Keep Wi-fi on during sleep

Strongly recommended to choose Only when plugged in. The behavior of this option is different from Gingerbread. Rather than turning off the wifi, CM9 instead seems to put it into a semi-sleep state. Data is turned off, but it can recover very quickly when needed. If you want Wifi to turn off entirely, Juice Defender Plus or Ultimate edition is capable of controlling Wifi sleep states while the screen is off. It is uncertain if Juice Defender disabled Wifi really uses less power than semi-sleeping Wifi as set by CM9.

No Signal? Use Airplane mode

- Settings > Battery > Cell standby

If your Time without signal is a high percentage, then your phone's radio is using extra power trying to find a cell tower that does not exist. If you are in rural areas with weak or no cell signal, your phone uses significantly more power as it tries to find a cell tower. Enable airplane mode in order to conserve your battery until you return to civilization.

Turn off Facebook Notifications and Background Data

In the Facebook app, hit Menu > Settings. Uncheck Notifications, and it also turns off background data refresh. This allows Facebook to fully close instead of always running in the background draining your battery and using some previous RAM.

If you want Facebook and its background service to die completely, use this procedure.

- Settings > Developer options > Kill app back button > Enable

From now on, when you are done using Facebook, hold down the Back button. This will completely kill Facebook until you run it again.

Turn off Data and Sync when you do not need it.

Different types of users

Why should your phone be busy while the screen is off?

Juice Defender - understanding the benefits and drawbacks

Reduce the number of applications that start automatically.

Apps you install will sometimes (and in most cases) have triggering events to start those applications in the background when certain events are triggered. In most cases, it is safe to disable that app from automatically triggering and instead launch that app when you want it as you normally would. By reducing the starting of applications, I have found that I also save battery because, well, my phone is doing less work and less work equals more battery.

I have seen some apps autostart even though you have disabled autostart events for that app (unclear yet why that's happening). If you find that is the case, and you want to stop it from running, try moving that app to the SD card using a program such as DroidSail along with disabling events. Why? Apps on SD cards at present do not receive the on_boot_complete event. Please note, this may break some functionality such as widgets.

In order to decide what to disable, you need to understand how you will use the app and whether you need it to run in the background. You can use an app such as Autostarts to control the startup on Android (At the writing of this it costs $1.03 USD).

When selecting apps to disable autostarting in Autostarts, stay clear of ones highlighted in Yellow as they are system apps.

- Look for these key events:

After Startup

Connectivity Changed

Other events can also be disabled but remember, by disabling events that start apps, you can be breaking the functionality that the app gives you. For example, disabling ‘after startup’ on an app such as AdAway will render the webserver that runs as part of that application to not run on boot. Be smart, but disable what makes sense.

If something doesn’t work right and you are not sure what you disabled for that app, simply uninstall it and reinstall it.

Stop syncing things that you don’t use regularly.

You can always manually sync them when you need them.

Access the menu here: Menu -> System Settings -> Accounts and Sync

For example, I use Gmail, Google Contacts, Google Calendar, and Google Browser regularly so I let that sync. I disable Google Currents, Google Docs, and Google Chrome Beta because I rarely use them. When I want to use them (once every couple weeks), I start the app and sync them manually.

Source: Cyanogenmod Epic 4G

Great guide ... congrats to Original Poster: wtogami