With the release of KitKat, Google has sought out to give Android a new look and a couple of noteworthy features. KitKat offers features such as a new launcher with integrated Google Now, a brand new dialer, system-wide Emoji support and much more. However, a lot of the new stuff is happening under the hood as well, including reduced memory usage and new APIs. But one of the most noteworthy features that KitKat has introduced is ART – a brand new Android runtime that Google has been working on for the last few years and that is meant to replace Dalvik in one of the upcoming releases, one of the most important components of the Android OS. But what exactly does this mean for users, and how do you enable it?
1. What Is It?
ART stands for “Android RunTime”, and is exactly what it says in the box: a new runtime for Android. In Android, a piece of software called “Dalvik” has been the default runtime ever since Android has been Android, and is responsible for running every single app you have on your phone. It’s what turns an app into code that your phone understands and can execute, and is the reason why apps work the same across different phones: Dalvik interprets the code and spits out a version that your device understands. So, you can see that it is a very important piece of the Android OS. But why exactly is it being replaced with ART, then? Well, for starters, Dalvik has been claimed to be inefficient by a number of enthusiasts, and to be one of the major sources of performance inequality compared to other OS’s. The fact that it was created at a time where memory and CPU constraints were a huge factor, along with some of the design choices taken with the VM, means that it may not be as fast as it could be. Dalvik has been augmented and upgraded over time (most notably, the inclusion of JIT compilation in Android 2.2), but is still claimed to be a slouch compared to other alternatives.
ART is a different implementation of the same thing, offering the widespread compatibility benefits of Dalvik with some performance-oriented design choices thrown into the mix. One of the things it does differently is the inclusion of ahead-of-time compilation (AOT), which should be faster and more efficient than Dalvik’s JIT and eliminate stutters and other performance issues related to app execution and compilation. Basically, when you install an app, ART should compile intermediate code as the app is installing instead of doing it whenever the app is executed, meaning it just has to do it once and doesn’t have to do it as the app runs. This should, in theory, bring with it a nice performance increase and smoother app execution with less stutters and hangs.
2. Enabling ART
So, now that we got that out of the way, how exactly do you enable ART? Well, for starters, you need to be on KitKat, as ART is not included in earlier versions of Android. You also need to be aware of what enabling ART means: for one, since it compiles as the app is being installed, ART makes it so that apps take more space when they are installed. The overhead shouldn’t be more than 10% to 25% of the current size, but you should look out if you’re running out of space. Secondly, once you enable ART, you will have to restart your device and wait as every app is converted to the new runtime, basically doing what it does at install. This process should occur as you boot into Android, and only needs to be done once, but it can take a while. You should also be aware that enabling ART means that most apps should take a while longer to install, and that some apps may have compatibility issues. If that is the case, just revert back to Dalvik.
So, the first step is to enable Developer Options. If you haven’t done it before, here’s how to do it:
Go into Settings, then “About Phone”:
Once there, find the section that says “Build Number”, and tap it 7 times.
Once you do, a message should pop up letting you know you are now a developer, and can now access developer options:
So, once you have that figured out, go into Developer Options and tap “Select Runtime”:
In the menu that pops up, tap “Use ART”:
Once you do, Android should tell you to reboot so it can enable ART. Do so and the next time your device boots up you should see a prompt letting you know it’s optimizing your apps for ART. As I said, this process can take a while, but only needs to be done once. When it finishes, ART is enabled and you can go back to your regular usage, now with the benefits of ART! As I mentioned, there are some apps that are incompatible or have issues with ART. To see a list of these apps, you can click here. To revert back to Dalvik, just go back into Developer Options and choose the Dalvik runtime instead. Any doubts or issues? Feel free to let us know in the comment section below!