Originally Posted by TKG26
I'd love nothing less thrn double battery life
I'd love nothing more than double battery life.
Unfortunately, this is difficult to achieve with Android. The thing is, Android uses a JVM, and virtual machines are much slower than "native" code. The reason why Android phones seem to lose the battery life comparisons by a significant margin is because of the extra processor cycles (and battery) which is spent doing garbage collection.
The old argument for garbage collection was "well, computers are getting faster all the time, so the 30-100% performance loss will be made up in x months - and it's easier on the developers that don't need to manage memory".
Unfortunately while processor performance is still getting faster and a good rate, battery capabilities are not. So, if iOS can do the same function without the GC pass, this really helps their battery life, because the iOS processor is sleeping while the Android processor is doing GC.
Both Blackberry (in 10) and Windows Phone (from 7 -> 8) moved away from the virtual machine model for mobile apps. Android is the only platform that is still primarily built using a JVM (or VM of any sort) that implements garbage collection.
It looks like we'll have a resurgence of reference counting, and developers managing their memory so consumers get more battery life back. Either that, or Android devices will need significantly larger batteries to get comparable battery life to a iPhone.
So, in summary, the #1 feature that I would request for the next version (whether 4.3 or 5.0) of Android is for them to provide an alternative native development platform, and start the transition away from Java.