As I found a lot of posts about too much battery drain I decided to make a step-by-step tutorial to get a better battery life. I will also give some advice about internal system tweaks, for root users only
First of all: You don't need to adapt to all settings I will explain. This isn't even necessary, but just keep them in mind
- All settings are for Galaxy 3 (with CM-based ROMs) but can also be used for other phones/ROMs
- Sorry for any mistake. I'm not a native English (I'm German). But I hope this text is understandable
- I didn't glued pictures on it, but I tried to guide you through the menus as much as I can
Now we will start:
- your phone
- SetCPU (I recommend Pro-Version)
- internet connection
- and some time
The biggest and badest part of the phone is the display. Unfortunately we can't live without it...
But there are ways to make it less worse:
1. Darken it as much as you can: You don't need to have over 50% of brightness when you are at home. And even outside you don't have to use it on the highest level. Try to make the contrast higher, or just hold your hand as a shield over the screen, when you just want to check the clock.
The easiest way to control the brightness is the "Power Control" widget:
Or for CM-based ROMs: Enable the brightness control on the notification bar: Settings -> CM -> Interface -> StatusBar Tweaks -> Tick "StatusBar Brightness Control"
Now you can swipe over you statusbar for changing the brightness easily
2. Timeouts: As a long-time-G3-user I just can tell you, that you don't really need them. Normally I switch off the screen / lock it, if I put my phone away. Only when I wait for something to load, I take care, that the screen don't turn off. So setting the automatic screen timeout to 1 minute seems nice. You can choose whatever you want, but keep it under 5 minutes
And you should (if you don't do it) switch your screen off more frequently (when you put your phone away) and don't wait until the timeout does the job. Not a big deal, but very effective.
1. Close to the timeout-settings there is another option for your Wifi-connection: How your W-LAN reacts, when your screen switches off. Thats often a big battery problem in connection with (inefficient) 3G networks. Check this setting under:
Settings -> Wireless Controls -> Wifi settings -> (press menu button) -> advanced -> Wi-Fi sleep policy: Set to [Never]
So your phone will never switch from Wifi to 3G (or 2G) when screen is turned off. The Wifi on a phone has less power consumption than 3G networks. And switching between them is even more worse than just have 3G in idle
2. Only use mobile data-connection if necessary:
This point is self-explanatory. If you don't shut this down completly (in order not to miss emails), switch to 2G networks (For faster switching use a widget or the power-control in your notification bar). This is a compromise between battery saving and connectivity. Better switch it off completly
3. Activate flight-mode sometimes.
Also self-explanatory: When you sleep, you don't need to get calls or messages. Just activate it before you go to sleep and deactivate it, when you wake up (or switch off your phone completly -> even more effective )
4. Deactivate Wifi if you can
When your preferred Wifi networks are out of range your phone tries to search for them constantly. This search routine needs more power than just being connected to one network. Tip: Switch off your Wifi when your leave your house. If this is too much work for you, use a bigger interval for the scanning. This value is set in the build.prop file (/system/build.prop) and can be edited with Root Explorer or anything similar. Search for this line: "wifi.supplicant_scan_interval=xyz". Set the "xyz" e.g. to "300", to scan every 5 minutes
5. Fast Dormancy:
[This option should be set properly to prevent higher battery drain!]
Only set this if your provider supports Fast Dormancy. If you enable this and your provider doesn't support it, you'll have higher battery drain. The other way around the same. Just look it up
for stock-ROM: "Call" *#9900#
for other ROMs: build.prop -> Line "ro.ril.fast.dormancy.rule=" ("1" enable or "0" to disable)
DON'T. USE. AUTO-TASK-KILLER!!! NEVER.
Read this article and you'll get it.
For those TL/DR guys: When an auto killer kills an app, mostly the app will restart itself and will be killed the next time (mayber after 5 or 10 minutes, depends on auto-killing-interval). Restart - kill - restart - ... Bad for batteries.
A full RAM is great for Android, but a fully loaded CPU isn't. The RAM is managed perfectly by the system. For the CPU you should use some CPU-watching apps like "Watchdog". It watches the CPU load caused by apps every xy seconds and informs you when an app using too much CPU.
Every widget is using ressources. You should take care of it and only use those, which you really(!) need. A bouncing clock with flashing lights and seconds hand is not really useful and is draining battery like hell. Just check every widget and decide for yourself
This part is only for rooted phones and for those who understand, what I'm talking about
Never set the lowest/minimus frequency to any higher value than the lowest one. How is a CPU supposed to sleep when it's artificially set to a higher frequency?
For OC phones: maximum of 800 MHz should work fine for most things.
This is a powerful app. USE IT!
Profiles: You should set them like this:
Charging Any; Priority 100; max 1000 MHz; min 83/100 MHz (depends on kernel); ondemand
In Call; Priority 95; max 800 MHz; min 83/100 MHz; ondemand
01:00 - 06:00 (sleep time ); Priority 90; max 83/100 MHz; min 83/100 MHz; powersave
Screen OFF; Priority 85; max 200 MHZ; min 83/100 MHz; ondemand
Just play around with them and decide which are the bests for you and don't forget to enable them
You can trouble-free set the voltage for 400MHz - 1000 MHz down by -50 mV. If it causes freezes, try -25 mV. Done? Save and Set -> both in top-right-corner. Tick -> Set on boot (bottom-left)
I recommend the ondemand-govenor.
Now I'll explain the settings:
powersave bias: When the governor recalculates the frequency, and the result is 800 MHz, it multiplies the value (800 MHz) with (1000 - x)/1000. E.g. if 300 is set: 800 MHz * (700/1000) = 800 * 0.7 = 560 MHz -> New frequency = 600 MHz (nearest to 560). I recommend = 0.
ignore nice load: On Linux systems (like Android) there are processes which are "nice". There don't want the CPU to jump to higher frequencies. And we don't want it as well: Don't ignore while recalculating -> Set to 0
up treshold: If the CPU load goes above this value, it will jump to the maximum frequency which is set (e.g. 800 MHz). Should be set between 75 - 85.
sampling rate: The governor will recalculate the frequency every xyz µs (1 / 1.000.000 seconds) I use: 20000
sampling down factor: When your CPU jumps to the highest frequency, the next recalculation will be in [sampling down factor] * [sampling rate] µs. It means, your CPU will last longer in higher frequencies before recalculating. Default = 90 (when the sampling rate is at 20000 µs = default, your CPU will last 1,8 seconds on the highest frequency). I recommend = 20.
Don't forget to tick: set with profiles, and set on boot.
If you don't did this before: Untick "Set on Boot"-Option in your CM-Settings -> Performance -> CPU - section. Otherwise your new SetCPU option won't work properly
NEVER CLOSE APPS WITH PRESSING THE HOME BUTTON, USE THE BACK BUTTON! please
Don't use Live Wallpapers.
Keep an eye on the build-in-battery-consumption menu -> Settings -> About Phone -> Battery Usage
Disable Auto-Rotation if not necessary.
Disable Settings -> Location & Security -> Use Wireless Networks
Disable (only when not needed!) Settings -> Accounts & Sync -> Auto-Sync
You'll have to sync every app manually (no more "new Email" popups in notification bar)
Disable [Open Market / Play Store] -> [Menu Button] -> Settings -> Update notifications
Settings -> CM Settings -> Performance:
Enable JIT for better performance
Disable Boot animation for faster boot.
VM-Heap = 32 or 48 MB (not less)
You can hit "thanks" if you want, and maybe someone can make this thread sticky, so everyone can see it
Hope you liked it
And, of course, you can post some more tips, so we can expend this list