Since its conception, Android apps have largely been run in the Dalvik runtime, which features just-in-time compilation instructions that allow app resources to be compiled and run on the fly.
Starting with Android 4.4 KitKat, Google began testing a new Android Runtime (dubbed ART) that features ahead-of-time compilation which translates all of the app’s bytecode to machine language at the time of the first installation. The benefits of ART are supposed to be faster app performance (no need to compile at each startup) and potentially better battery life (less compilation instructions = less CPU time = less battery drain).
Google introduced it as an experimental feature for developers and to gain early feedback, but we could be close to seeing it enabled as the default runtime in an upcoming version of Android. An Android code commit at Google’s git foretells a change that would make ART the preferred option while still maintaining Dalvik as a secondary option for those finding it hard to say goodbye.
It was always Google’s intention to replace Dalvik, though the earlier years of Android forced their hand in putting up with what is generally seen as a less efficient process. Devices back in the early days had very limited RAM and storage, and less capable CPUs, and the Dalvik runtime’s “only compile what you need” architecture made it perfect for those devices as it kept the memory footprint to a minimum.
But entry-level devices of today don’t go much lower than 512MB of RAM and 4GB of storage, and they use very capable processors compared to the same class of devices just a few years ago. With Google optimizing Android 4.4 KitKat to make it perform great on these entry-level devices, they can finally use this more traditional compilation engine without worry that someone’s phone isn’t up to par.
The jury is still out on ART and its benefits. Some users have reported that ART doesn’t show any glaring performance improvements, and some even profess that battery life savings are minimal in some cases and worse in others.
We can’t take any of that to mean anything this early on, though, as many developers and OEMs are still adapting their apps to work properly with the new runtime. Still, this source commit serves to tell us that Google feels ART is almost ready for prime time, and we’ll have to see if any new changes they’ve made since introducing it in the initial Android 4.4 KitKat release will do anything to significantly impact application and device performance.
[Google via Liliputing]