[AT&T Samsung Galaxy S II Skyrocket SGH-I727] Jrockttu:
I’m going to try to consolidate a lot of battery information in this thread and prioritize it. This is a WIP.

1) Check your charger first!!!

2) Fix wakelocks

3) Remove bloatware

4) Replace your battery

5) Try a new ROM

The Charger Problem

Using certain chargers causes a wakelock on your phone that prevents it from going into deep sleep. This results in roughly 10% battery attrition, regardless of activity or screen on time. Before you try anything else, you should test each of your chargers and make sure they aren’t causing a wakelock.

Do you have this problem?

Install CPU Spy from the Play Store. Open the app to see how much time your phone spends in each CPU state. If Deep Sleep is a very small percentage, or Deep Sleep doesn’t even appear, you have a problem with your charger. Follow one of the methods below to test each of your chargers.

Charger Test App

I've created an app with the sole function of reporting your charge type and current. See the thread below to download and install the app.

UPDATE: This app is now available on the Play Store for easier installation: https://play.google.com/store/apps/details?id=com.jellisapps.srchargertest

http://xdaforums.com/showthread.php?p=29451951#post29451951

Testing with only CPU Spy:

1) Plug your phone into the charger and turn the screen off. Leave it charging for about 30 seconds. (Don't do this with a fully charged phone, as I don't know how that affects the testing)

2) With the screen still off, unplug the phone from the charger.

3) Open CPU Spy, hit the menu button, and "Reset Timers". Turn the screen off.

4) Let the phone sit idle for a few minutes with the screen off.

5) Turn the phone back on and refresh the timers in CPU Spy (menu button again).

If Deep Sleep doesn’t appear in the list of CPU states, your phone is experiencing a wakelock brought on by the charger. It’s probably spent the majority of time at 192mhz or 384mhz.

To further confirm this, leave your phone unplugged, restart it, leave the screen off for a few minutes, and then check CPU spy again. You should now see it going into Deep Sleep.

It’s rumored that some USB cables can also cause this problem, even if used with a good charger. I have not experienced this with the cables I’ve used.

Testing with Terminal Emulator:

This method will not show the wakelock, but it will show you what charging mode the phone is in. Because I’ve identified the problematic charging mode that creates the wakelock, this method can be used to test your chargers fairly quickly. (Thanks to pj_rage)

If you have Tasker, you can download and import my Tasker profile that will check the charger when it’s connected and toast you with the charger type. It will also pop a notification if the charger will create a wakelock. Profile: https://www.dropbox.com/s/jewrvalkc7agtoz/Charger_Type.prf.xml (hat tip to Note-owner G8351427 for the Tasker idea)

1) Plug your phone into the charger you want to test.

2) Use your favorite terminal emulator (ROM Toolbox has one) to run:

cat /sys/class/power_supply/battery/charging_source​

3) Look for your results:

0= No charger connected.

1= USB Normal Charge. There is 5VDC on pins 1&4 and data current is detected on 2&3

2= AC Fast Charge. AC Fast Charge. There is 5VDC on pins 1&4, and pins 2&3 are BRIDGED.

6= AC Regular Charge. This is the charge state that creates the wakelock. There is 5VDC on pins 1&4, and pins 2&3 are OPEN/DISCONNECTED.​

Thanks to SR-owner nighthawkmckenzie for additional information on charging states.

Known Workarounds:

If you can't use a proper charger, there are two known workarounds.

1) Restart your phone after charging. This is what I did for a while, until I found one of my chargers that works with the phone.

2) Plug your phone into a "Type 2" charger. If your phone is plugged into a Type 6 charger, it creates the wakelock upon disconnection. But if you plug in a Type 2, even briefly, it clears the wakelock. For example, I would charge my phone overnight on a Type 6 charger (leaving a wakelock), and then just plug it into my car charger (Type 2) for a few seconds on the way to work to eliminate the wakelock.

3) Mod your charger to bridge pins 2&3. Instructions can be found here.

4) Buy one of these adapters. I have not tested this, but Note users say that it increases the charger current for chargers without pins 2&3 bridged. Theoretically, that means it should be recognized as 2 instead of 6. Someone let me know if you try it and verify effectiveness.

5) Turn on your screen before unplugging the phone. Some users report that this works. I've been unable to get it to work for me. Try it with your charger using my testing steps above if you'd like. (This workaround is courtesy of Note-owner ultravorx)

Why This Happens:

Thanks to pj_rage's research and nighthawkmckenzie's help putting the pieces together. As stated above, the Skyrocket and the Note detect if pins 2&3 are bridged or not. It seems that, for chargers to be Apple certified, they must not bridge pins 2&3. These chargers don't cause a big problem for most phones, but they do for ours. It lowers the mA current and causes a wakelock that persists after the charger is unplugged. The wakelock I usually notice is sdio_al, which seems like it's related to I/O on the SD card. Perhaps detecting a cable connected without pins 2&3 bridged, the phone is preparing for data, then fails to terminate the wakelock.

Here is a really good thread by pj_rage with information on chargers and the Note

My phone takes FOREVER to charge!

Not all chargers are created equal. Some of them enable quick charging, while some of them do not. Plug your charger in, open your Terminal Emulator, and run this command:

cat /sys/class/power_supply/battery/batt_current_adc​

Divide the result by 10 to determine the mA rate of your charger. If the result (after dividing) is close to 1000, quick charging is enabled. If the result is close to 5000, quick charging does not work with your charger.

Wakelocks That Destroy Your Battery Life

If you're not familiar with wakelocks, they're basically processes that run on your phone that prevent it from going into deep sleep. Deep sleep is the mode your phone should go into when you're not using it so that it can conserve battery. Some wakelocks are intentional, while others can be the result of rogue apps or system processes.

For an excellent and thorough guide to Wakelocks and the Skyrocket, check out this thread started by T.J. Bender.

To effectively find your wakelocks, you'll need BetterBatteryStats. It's free to us XDA users. You can get it in this thread. Read that OP for more information about wakelocks.

AudioOut_1 - Hat tip to T.J. Bender's post in this thread for information on AudioOut_1.

Settings -> Sound

Turn keytone, touch sounds, screen lock sound and vibrate on screen tap off.​

sdio_al - This is the wakelock created by your charger, detailed above in this OP.

Clean Out the Bloat

Some of the bloatware and unnecessary apps on our phones can drain battery. Here is a good thread by Earthdog that is stickied in the Themes and Apps forum that tells you what apps are safe to freeze or uninstall. I really recommend you freeze the apps in Titanium Backup and run for a few days before you uninstall. This way you won’t accidentally uninstall something your phone needs to remain stable.

We’re Gonna Need a Bigger Battery

Many Skyrocket owners (myself included) have discovered that the Verizon Galaxy Nexus extended battery works pretty well in the Skyrocket. The Skyrocket’s battery is 1850mAh, while the Nexus extended battery is 2100mAh.

Here’s the thread discussing the battery.

It costs less than $25 at a Verizon store and will add over 10% to your battery capacity. The battery is also made by Samsung and has built in NFC, just like our stock battery.

Some people report filing down the battery so that it will fit in their Skyrocket. I followed the advice of user stevenlong and took the sticker off of the outside of my extended battery. Picture of his battery is here. After this modification, it fits almost perfect. The slight bulge is not noticeable unless you’re looking for it (that’s what she said).

The Stock ROM Sucks

If you’re still unrooted and on stock Gingerbread, I feel sorry for you. What the heck are you doing on this forum if you’re scared to flash a new ROM?

This guide would be way too long if I tried to explain the battery improvements you might see by stepping up to the Stock ICS leak. You’ll probably see even more improvement if you flash one of the many custom ROMs in the Development section.

If you’re dedicated to getting the most out of your phone, spend a weekend reading the ever-loving sh*t out of the stickies in the Development forum. Only after you have read those threads and feel like you have a good understanding, backup your phone and flash a new ROM on it. As long as you’ve backed up properly, you can flash between several ROMs and choose the one that works best for you.

If you have any questions about the ROM you’re trying to flash, ask in the Q&A forum. Don’t start out by asking in the ROM’s threads, unless you’re POSITIVE that the question has not already been answered in the thread or the stickies. You did search first, right?

I can only speak to my own experience, but SKY ICS by seanzscreams has been AMAZING for battery life. I’ve really wanted to try some of the other ROMs, because they look good as well, but SKY ICS has been so good that it’s hard to think of using anything else. Try them all and see which one you like the best. Don't forget to donate a few bucks through the donate button for your favorite ROM's developer!