Android 5.0 Important Feature: ART Replaces Dalvik for Enhanced Performance and Battery Efficiency of Apps
Android 5.0 carries an important feature which already appeared in Android KitKat but was not ultimately updated. It is designed to improve performance and efficient battery use of all applications for Android devices.
Android 5.0 Important Feature
An important feature seems to be confirmed on the upcoming next generation Android 5.0 which already appeared in Android KitKat - the advantages of ART runtime against Dalvik that affects the execution of every application for all Android devices.
While many users may not be interested with Dalvik and ART, hard-core users and developers are aware of what they can do and their impact on applications. According to BGR, ART runtime replaces Dalvik and it is likely to be included in Android 5.0 based on the changes at Android Open Source Project Web site.
In layman's term, ART features better performance and uses power more efficiently compared with Dalvik. However, ART was not completely ready on Android KitKat and only served as an alternative for developers.
ART vs. Dalvik Runtime
When a user runs an application on your Android device, it goes through a runtime such as ART and Dalvik. Apps running thru Dalvik are executed following the Just-in-Time or JIT compiler procedure wherein the code is only performed if needed.
In ART runtime, application processes and instructions undergo Ahead-of-Time or AOT compiler which means apps are running before the user intends to for smoother experience. Technically, ART features more efficiency in power usage and performs better than Dalvik but the effects are not obvious to the user.
Moreover, certain apps are not yet optimised to run on ART and may still require Dalvik runtime such as GravityBox.
Evidence of ART from Google
XDA developers caught the switch from the aging Dalvik to ART at the Android Open Source Project. It initially appeared in Android KitKat and appears to be developing as the next generation of Android approaches.
The first change reveals the removal of Dalvik from AOSP master branch: 98553 - Merged
Dalvik is dead, long live Dalvik! DO NOT MERGE
croot
cd libcore
repo start dalvik-is-dead-long-live-dalvik .
repo sync -c .
git rm -r libdvm
git add JavaLibrary.mk (after removing libdvm references, adding explict core-libart references)
git add Docs.mk (after replacing references to libdvm with libart)
git add benchmarks/Android.mk (after adding explict core-libart references)
git add Android.mk (after removing dalvik-host target)
git commit -a -m 'Dalvik is dead, long live Dalvik! DO NOT MERGE'
The second change switches the default runtime to ART: 98618 - Merged
Switch from core to core-libart
Developers are now optimising their applications to run under ART and leaving Dalvik for good including XDA Senior Recognised Developer rovo89 who released an ART-compatible build of Xposed Framework.