While it may still be a long time coming, a recent commit to the Android source code has just switched the default Android runtime from Dalvik to ART. Google has not yet commented on what it expects developers to do to adjust, but the this pretty much makes it clear the company’s direction moving forward.
As the default runtime, Dalvik is critical to the whole Android operating system. It is the Java-based virtual machine on which each and every single Android app runs. Accordingly, it has been the center of litigation that strike at the very heart of Android’s existence, particularly the lawsuit brought by Oracle against Google.
Considering the important role Dalvik plays in Android, it was almost shocking that Google would even consider yanking out. But dare they did and in Android 4.4 introduced a new runtime, simply called ART for Android Runtime. The reason was that, while things were good, it could be even better. Dalvik was already designed to be lightweight and fast. After all, every Android app runs sandboxed in its own Dalvik virtual machine copy. But there was still room for improvement. Dalvik implemented what is called “Just In Time” compilation, which translates and runs the software into machine language each and every time the software is run. Compare that to ART’s Ahead Of Time compilation, which does that compilation process just once during installation, and you a significant amount of time and resources.
That said, Google has clearly marked ART as experimental even when it shipped both Dalvik and ARM in Android 4.4. Dalvik was clearly the default but now it seems that Google is paving the way for the transition. It is still unknown when Google will announce the next major Android version bearing ART as default, but now that the switch has been flipped, it may be a good time for developers to test the waters and fix and report issues that they may encounter.