One of the few things that the latest release from Google, the Android 4.4 KITKAT has brought to the table is a nice option to choose the runtime you want for your Android device. Earlier Android versions upto the Android 4.3 used the Dalvik runtime. But with this release Google has given users options to choose between the AndroidRunTime (ART) or Dalvik Runtime.
Before you select your runtime, here a background check on the runtimes. The AndroidRunTime (ART) is available only on Android 4.4 KIKAT version so its good for you if you have a Nexus or Google Play Edition device or have customised your ROM to Android 4.4 KITKAT. It is important to note that Dalvik will remain the default runtime on Android smart phones for a foreseeable future. If you manage to delete the Dalvik runtime somehow you risk breaking your Android implementations and third-party applications (there are many Apps which dont support ART as of yet)
Of the two runtimes are now available, the existing Dalvik runtime filename is libdvm.so and the ART is libart.so. A device can be built using either or both. (You can dual boot from Developer options if both are installed.) Dalvik which is named after a Icelandic village, has been the default runtime ever since Android OS was launched. AndroidRunTime or ART has been developed and introduced with Android 4.4 KITKAT and may soon be the default runtime in future Android versions.
ART has a distinct advantage over Dalvik because Dalvik runs on the principle of 'Just-in-time' (JIT) to compile a process which means it has to transform app source code into an executable program every time it starts. Whereas the newly developed ART uses the mechanism called 'Ahead-of-time' (AOT) process for compilation. In layman language this means that the ART does the compilation or conversion only once when the App is installed where as the Dalvik converts the Apps everytime you switch them off and on.
Using ART, a specific App can get launched or converted twice as quickly as the existing Dalvik conversion. In non technical terms this means that your Apps open up in a jiffy using ART giving you not only better speed but also extended battery life. The side effect of one time AOT processing makes your Apps launching a less resource intensive. Which in effect means that your smart phone doesnt have to work that hard and this increases the battery life. The advantages of using ART may not be immediately visible to you but over time you will notice significant change in your battery charging structure as Apps which run in the background will now do so more efficiently.
Though it is being touted by the developers as the future of runtimes on Android devices but it does have some distinct disadvantages over Dalvik. One of the worst disadvantages is that it is a storage hogger. Yes due to its AOT process compilation, it will cause your installed Apps to use more storage unlike Dalvik which has a on-demand need for space. The rough cost estimate is that it will eat around 10 to 20 percent more space per App. So, the users who have their smart phones filled with Apps and Games may not like this fact. Larger Apps and Games means they will also take a little longer to install and you will get a inflated internet bill in case you are using limited data plans. There is also a case for incompatibility. The older Android Apps just cant run on ART. It is fine in case of big Apps like WhatsApp, Instagram etc. which are updated regularly but what about the small Apps launched by indie developers. You certainly cant use them unless the developer updates them for AOT runtime. Google has made things easy for users by putting out a list of ART compatible Apps. You can read the full list here.
Now that you have understood what AndroidRunTime (ART) is you can give it a try by heading over to Settings > Developer Options > Select Runtime > Use ART (AndroidRunTime)
If you do give it a try, come back here and tell others about how you felt using ART.
:)
ReplyDelete