[Galaxy S III Mini Q&A, Help & Troubleshooting] rcoacci:
I'm opening this thread to clean up the Dev thread, since the most probable cause of battery drains are software/configuration related.

Here's my own experience with this matter.

Most of the drains I've seen are related to Location settings and Google Now. It seems Google's Location Reporting and Location History keep pinging WiFi for the location at a fairly high rate, so keeping the phone Awake and/or the WiFi running all the time. An usual indication of this is that in BetterBatteryStats you get:

1) Screen On % very low

2) WiFi On 100% of the time

3) WiFi Running 100% of the time.

4) Awake with moderate-to-high %.

To test it, here's what should be done:

1) Get BetterBatteryStats (BBS), enable Root, install it as system app (in advanced settings). Reboot.

2) Disable WiFi and GPS completely, preferably leaving Data Network also off. You may go all the way and just turn on airplane mode.

3) Leave the phone idle for at least 1h and check that there is no battery drain.

If you get any considerable drain (more than 5%/h), check Kernel Wakelocks and Partial wakelocks, or try again with 2G networks only. You may have a baseband problem. Consider this step as your "control group" as it ensures nothing in the hardware or in the ROM is wrong.

If there is no drain, enable WiFi and GPS again, but make sure all this settings are UNCHECKED:

1) Settings->WiFi-> Advanced: "Network notification", "Keep wifi on during sleep" set to "Never", "Scanning always available".

2) Settings->Location->Google Location Reporting: "Location Reporting" set to off and "Location History" set to off. Or just disable Location completely.

3) Check Settings->Security -> Device Administrators -> Disable at least Android Device Manager. If you can, disable everything else in this screen, such as Airdroid, Cerberus, etc

4) App drawer -> Google Settings -> Search -> Set Google Now to Off. You can also configure Android Device Manager here.

Leave the phone idle again for 1h and check BBS. In theory you shouldn't need to recharge completely, just enable the watchdog in BBS. Always check the wakelocks too.

You should get this on BBS:

1) Screen On % very low

2) WiFi On 100% of the time

3) WiFi Running with low % (anything less than 50% is ok, depending on Sync settings and background apps)

4) Awake with low %.

5) Deep Sleep with almost 100%

Go back enabling stuff as needed, one by one, leave the phone idle and check BBS. Rinse and repeat until you find the culprit.

One thing, make sure you do this after letting the phone sync some of the stuff. Don't do this immediately after a setting up a Google account.

Some people also reported that doing a factory reset solves the drains. It's always recommended anyway.

Any other hints are also appreciated.

For people with trouble making BBS work, Try getting the latest version, enable Root in Settings->Advanced and them System App, also in Settings-> Advanced.

Also:

1) When the phone is charging it WILL BE AWAKE WITH BOTH CORES, ALL THE TIME. Depending on the governor used, both cores may even stay at full speed (aka 1GHz). This is BY DESIGN and stock ROMs does that too. So any measurement while the phone is charging is useless.

2) Most "calibration" procedures are myths and don't have any effect. Erasing batterystats.bin also does nothing to increse battery life or remove drains (but may solve some charging issues, still unclear).