We all know the Android operating system uses the Dalvik virtual machine to run apps. This VM allows apps to run on a variety of devices with different RAMs and CPUs. Android apps are written in Java programming language, which are then compiled into bytecode by Developers before submitting their apps to the play store. This bytecode is then transferred from Java VM to the Dalvik executable file. Every time you launch an app, different parts of the phone that make it work (like the camera, microphone, display, etc that is required for an app like Skype) scramble to assemble the code for that app and run on the device. When you close that app, all of those parts relax. When you open that app again, all of those parts scramble again! This is how apps work in the Android operating system. This increases the time required to run the app (although most phones in the market today, especially the high end phones, are powerful enough to run all of such apps without any (or less) delay)! Google is soon going to change the way apps run on our phones. Although the Dalvik VM allows developers to develop apps that could run on a variety of devices, it increases the loading time! We will soon see a new standard called Android Runtime (ART) that will make sure the apps are more tied to the hardware on the device so they run faster! Here’s how it works -
The Android Runtime (ART) will use “Ahead of Time” compiler (AOT) instead of the current “Just in Time” compiler (JIT). The AOT compiler, as the name suggests, will translate the bytecode into machine code immediately after the app has been downloaded. This will take up a little more storage space but it will help apps open faster and run smoother than before. It is like a web browser pre-caching web pages to load them faster. The Nexus 5 has option to ‘select runtime’ which allows you to choose between ‘dalvik’ and ‘ART’. ART on the Nexus 5 is still an experimental setting for Developers and hence it can cause instability of the operating system or cause apps to crash. Here is a short introduction to ART from Google’s Android Developer website -
As you can see, Google is currently testing ART with its manufacturing partners and developers. It will soon replace Dalvik with ART. According to a recent update, Google says, it will replace Dalvik “at the next opportunity” hinting at the next version of Android!
What are your thoughts about Google’s new Android Runtime? Do you think Google will successfully replace the Dalvik with ART? Do you think it will allow apps to load and run faster thereby increasing the overall performance? Let me know your thoughts in comments below and connect with me on Facebook, Twitter and Google+.