BREAKING: New Runtime Compiler in Android 4.4 to Possibly Bring Better Performance in Future Releases
Android 4.4 KitKat ushers in several new and exciting features, many of which we talked about last night. One new and unexpected feature addition, however, appears to be a different real time compiler engine. In addition to Dalvik, references to ART have appeared under Android’s Developer Options menu. Not too long ago, Google purchased the French company Flexycore. While Flexycore has nothing to do with ART, the purchase and ART compiler show Google’s renewed focus on improving device performance.
As can be seen in the screenshot to your right, there is now a menu allowing you to choose between Dalvik and ART within Developer options. Switching from Dalvik to ART switches from the libdvm.so library to libart.so. And rather than the ODEX files read by the Dalvik VM, ART appears to use OAT files. Accordingly, Android 4.4 source also includes a dex2oat program to convert ODEX files into OAT files compatible with ART.
It is important to keep in mind that this is currently “hidden,” as it breaks the emulator. However, it has far reaching potential in that it can compile Android apps into more native code than what’s currently available through Android’s JIT.
Exciting times, folks. Looks like Android 4.4 will have plenty of new features that are just waiting to be uncovered.
Update: More information on ART can now be found on the Android Source Code Documentation Website.