For as long as Android has been around the operating system has relied on the Dalvik virtual machine as the platform apps run on. Now it looks like Google is getting to replace Dalvik with a new runtime called ART.

While Dalvik uses “just-in-time” processing to compile code on the fly, ART using an “ahead-of-time” process to compile apps before you first run them, which could lead some apps to run much more quickly.

Google included ART in Android 4.4 KitKat, but it’s disabled by default. But it looks like the next version of Android could use ART as the default runtime with Dalvik taking a backseat.

ART runtime

A code commit shows that Google has flipped the switch, making ART the default runtime.

It could still be a while before the change hits your phone or tablet. It’s not clear when Google will release the next version of Android… or how long it will take your device maker or wireless carrier to offer an over-the-air update.

Meanwhile folks with devices running Android 4.4 can continue to enable ART manually through the Developer Options menu. There are still some apps that aren’t optimized for the new runtime, but the list is shrinking as a growing number of developers prepare for the upcoming change.

via /r/Android

Support Liliputing

Liliputing's primary sources of revenue are advertising and affiliate links (if you click the "Shop" button at the top of the page and buy something on Amazon, for example, we'll get a small commission).

But there are several ways you can support the site directly even if you're using an ad blocker* and hate online shopping.

Contribute to our Patreon campaign

or...

Contribute via PayPal

* If you are using an ad blocker like uBlock Origin and seeing a pop-up message at the bottom of the screen, we have a guide that may help you disable it.

Subscribe to Liliputing via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 9,547 other subscribers

17 replies on “Goodbye Dalvik? Android code commit makes ART runtime the default”

  1. From “just-in-time” processing to “ahead-of-time” processing? Sounds like an improvement to me!

    Seriously though, is there any disadvantages?

      1. And… App installs will take significantly longer. Though, apps will use less RAM.

  2. Whatever makes it faster with little to no drawbacks then good.

    I remember the days back in college when they were pushing Java and the benefits of JIT. Supposedly, you’ll both get the benefits of code optimization before and during run time. Too bad that often gets outweighed by the optimization process itself and never really provided much benefit (or ended up being slower) to pre-compiled binaries with the appriate compiler optimization flags. Using JIT compiling on devices where users expect fast response times was never really a good idea.

    1. I think it’s pretty amazing that android ever worked as well as it did, considering it was using JIT for so many apps.

      1. Seems like an odd statement, since Android JITs pretty much everything.

        JIT provides improved performance over bytecode interpretation by translating short runs of bytecode to native code on the fly as needed and running them.

        Microsoft’s .Net is still limited to JITting (unless one manually runs NGen to crudely compile to native code in one go). The ART AOT-compiles improve on that by doing an optimizing compile as opposed to NGen’s flat JIT-style instruction translation.

        1. The statement doesn’t seem odd to me. I’m surprised Android was first released using only interpretation. That’s extremely slow. Then they finally added JIT which still isn’t ideal on slow (compared to desktops) embedded systems especially when the optimizations it’s allowed to do are limited compared to the JIT methods done on desktops/servers.

          Yeah, once, the hot code is compiled, it runs faster but for a device like a smartphone where people expect quick response times (at least now they expect this), the time it takes to identify hot code and compile it can be noticeable (slow startup and short stutters). So, yeah, I’m surprised Android provides a okay experience.

        2. A majority of major .NET apps NGen their code during the installation process, so that is not much of an issue with .NET apps.

  3. I don’t think that’s a huge problem. If ART makes it faster, I don’t see anything wrong with it.

  4. If you enable ART so you need to reinstall apps for them to run better?

    1. No, you don’t need to reinstall anything. ART goes on a compiling binge when it’s first activated, and compiles all apps already on your phone automatically in one go, which takes a few minutes.

        1. Yes, just switch back to Dalvik. Apps will run from source again, which is still there.

      1. its not going to take minutes if you have lots of apps. In fact, it can be long though just one off.

Comments are closed.