I know a lot of people complain about battery life on the SGS2 so here are some tips.
First of all check your battery usage (menu>settings>about phone>battery usage). If there is anything obvious then it will be at the top hogging your battery If you cant see anything obvious or its android os then its time to take things further.
Press the graph at the top and compare your awake stats to your screen on stats. If you have lots of awake time when the screen is off then your battery drain could be down to wakelocks.
Wakelocks are apps triggering the phone to wake while it is sleeping and causing battery drain. To find out what is causing wakelocks download an app called Betterbatterystats from here:
[APP] BetterBatteryStats adds battery history back to Gingerbread - xda-developers
Once you have installed the app press menu, custom ref then close the app. Now leave the phone for a couple of hours to sleep or even better leave it over night if possible.
After you have left the phone, when you come back to it open the the app again select "wakelocks" at the top then select "since custom ref" under wakelocks. This will give you a list of your wakelocks while your phone was sleeping. They are in order highest first.
Now you need to work out what the wakelocks are. Some common ones here (more can be found in the link above):
[android backup service]
(What is Android Backup Service? - Google Projects for Android). It is a service that offers cloud backup/restore of your settings and offers an API for other apps to do the same (http://developer.android.com/guide/t...ta/backup.html).
You can turn it off (but will lose the automatic backup) under Setting -> Privacy ->Back up my data.
Backups are useful though but no need to do it in the cloud, I'd recommend scheduling a regular backup using titanium instead (that's my setting).
[DataTracker-FD] is fast dormancy. Find the 'secret' codes for your device to turn FD off. *#*#9900#*#* on an SGSII. (contrib. by nobnut)
[syncmanagerhandlesyncalarm] Is responsible for updating the accounts you have under Settings -> Accounts and Sync. High values may come from bad settings (sync too often, huge amounts of data) or poorly written providers.
If you found it was a certain app causing the problem you can either uninstall or if you are rooted and want to keep the app you can stop it from autostarting. To do this install Gemini App Manager and when you open it, click on the menu button, click on 'Expert Mode' and find the app concerned. Then long press on the app and click 'Config "Autorun" (root)'. Then you just click on the 'On' switches and turn them 'Off'. What this does is to prevent the app from loading when it wants to but it still works normally when you start it.
You can also find all the apps running by going into manage applications, running services then press the green bar in the bottom right corner. I found many apps running in there that I hardly ever use so I stopped them from autostarting.
EDIT - Some more useful tips taken from here
1. Always use the back arrow to exit an app instead of the Home button (if the back arrow doesn't work, kill the app manually after you have finished.
2. DO NOT USE Task killers
3. Always read the comments on Market before you buy or install an app
4. Take control over the autostart feature that many apps have
5. Use Google to learn new things rather than asking for help with the easy stuff
6. DO NOT USE Juice Defender or any other 'battery saving' apps... they are not needed if you set your device up correctly and actually use more power than they save
7. Decide whether you actually NEED or WANT that app (do you need a 'fart' app which uses location and data services? - Just make your own 'fart' sounds naturally )
8. Regularly review which apps are running in the background and check your battery stats
9. After installing new apps, check to see what they are doing behind your back
10. When setting up sync schedules, use some common sense (do you need to update your weather app every 5 minutes?)
11. How many email accounts do you need or want? For example, I have 6 accounts but I forward 4 of them into my Gmail account. Now I only need to sync one Gmail account and 1 Exchange account )
First of all check your battery usage (menu>settings>about phone>battery usage). If there is anything obvious then it will be at the top hogging your battery If you cant see anything obvious or its android os then its time to take things further.
Press the graph at the top and compare your awake stats to your screen on stats. If you have lots of awake time when the screen is off then your battery drain could be down to wakelocks.
Wakelocks are apps triggering the phone to wake while it is sleeping and causing battery drain. To find out what is causing wakelocks download an app called Betterbatterystats from here:
[APP] BetterBatteryStats adds battery history back to Gingerbread - xda-developers
Once you have installed the app press menu, custom ref then close the app. Now leave the phone for a couple of hours to sleep or even better leave it over night if possible.
After you have left the phone, when you come back to it open the the app again select "wakelocks" at the top then select "since custom ref" under wakelocks. This will give you a list of your wakelocks while your phone was sleeping. They are in order highest first.
Now you need to work out what the wakelocks are. Some common ones here (more can be found in the link above):
[android backup service]
(What is Android Backup Service? - Google Projects for Android). It is a service that offers cloud backup/restore of your settings and offers an API for other apps to do the same (http://developer.android.com/guide/t...ta/backup.html).
You can turn it off (but will lose the automatic backup) under Setting -> Privacy ->Back up my data.
Backups are useful though but no need to do it in the cloud, I'd recommend scheduling a regular backup using titanium instead (that's my setting).
[DataTracker-FD] is fast dormancy. Find the 'secret' codes for your device to turn FD off. *#*#9900#*#* on an SGSII. (contrib. by nobnut)
[syncmanagerhandlesyncalarm] Is responsible for updating the accounts you have under Settings -> Accounts and Sync. High values may come from bad settings (sync too often, huge amounts of data) or poorly written providers.
If you found it was a certain app causing the problem you can either uninstall or if you are rooted and want to keep the app you can stop it from autostarting. To do this install Gemini App Manager and when you open it, click on the menu button, click on 'Expert Mode' and find the app concerned. Then long press on the app and click 'Config "Autorun" (root)'. Then you just click on the 'On' switches and turn them 'Off'. What this does is to prevent the app from loading when it wants to but it still works normally when you start it.
You can also find all the apps running by going into manage applications, running services then press the green bar in the bottom right corner. I found many apps running in there that I hardly ever use so I stopped them from autostarting.
EDIT - Some more useful tips taken from here
1. Always use the back arrow to exit an app instead of the Home button (if the back arrow doesn't work, kill the app manually after you have finished.
2. DO NOT USE Task killers
3. Always read the comments on Market before you buy or install an app
4. Take control over the autostart feature that many apps have
5. Use Google to learn new things rather than asking for help with the easy stuff
6. DO NOT USE Juice Defender or any other 'battery saving' apps... they are not needed if you set your device up correctly and actually use more power than they save
7. Decide whether you actually NEED or WANT that app (do you need a 'fart' app which uses location and data services? - Just make your own 'fart' sounds naturally )
8. Regularly review which apps are running in the background and check your battery stats
9. After installing new apps, check to see what they are doing behind your back
10. When setting up sync schedules, use some common sense (do you need to update your weather app every 5 minutes?)
11. How many email accounts do you need or want? For example, I have 6 accounts but I forward 4 of them into my Gmail account. Now I only need to sync one Gmail account and 1 Exchange account )