[Sony Xperia M] para22:
I think this is the biggest flaw of Android permissions. Rather than giving user the option to give any combination of permissions to the apps, by default android gives all the permissions to the app which it needs so that user has the only option to either install the app or not install it. In fact, iOS does much better inspite of being a locked down platform altogether. BlackBerry OS 10.3 onwards also is much better when running android applications. Unfortunately google doesn't support its play services on BlackBerry now, hence many android apps(especially google ones like gmail, docs) are not useful.

Now, for as for Privacy Guard( app ops), i think android application developers don't think that some of the application permissions can be disabled as a result, app crashes and if it is a background service, it keeps on restarting consuming even more battery.

Also, one point to note on disabling application permissions is that many apps call "android system" for accessing various device features (like location access, wake up etc), though i'm not sure about the exact mechanism. Consequently, these permissions are shown under "android system", "google services" etc as umbrella apps and disabling those isn't really helpful.

In addition to what has already been suggested, Greenify (with full administrator rights) is one app that can help. Especially helpful for those "sync" wakelocks where application is trying to sync its data to its cloud servers. Battery consumption is increased even more when we are on 2G/3G rather than on WiFi as those radios consume more power.

Another source of power loss are the sensors. According to sensor kinetics app power consumption is as follows:

Magnetometer----->0.500mA

Light sensor--------->0.500mA

Proximity sensor--->0.200mA

Accelerometer----->0.130mA

Reducing the frequency these sensors are polled would reduce power consumption. I think in our current system with current kernel, there is some problem relating to this as the readings obtained are unstable. Maybe fixing that would also help. As a side note, on my blackberry proximity sensor (red light near camera) flashes rather than running constantly, may be to reduce power.

Yet another thing to note is that if you are using link2sd and loaded a huge number of programs(or apps if you like it that way), as our device RAM is limited by today's standard(1GB), i think there is huge amount of caching, as it can be observed by running kswapd0 daemon process (or thread?). As accessing physical sdcard or eMMC chip is more power costly than RAM, maybe a better power optimized source would also help.

Another strange thing i've noted is that dex2oat is running frequently which probably means that our app java bytecode is being translated to native binary. This is perhaps the most power hungry process i've found. Whenever it runs, my cpu freq is full (@1.6Ghz overclocked) running at 100%cpu load for both the cores.

I've also tried to optimise kernel governor(interactive parameters) and noted my numbers in a post a few pages back. Also uninstalled a few extremely power hungry apps. With those and moderate phone use (~0.5-1 hour) my phone battery lasts about 2 days now.

Hope this helps.