android-art-1024x819

Android Run Time (ART) is the replacement to Dalvik introduced experimentally in Android 4.4 (Kitkat). Back then it could be enabled in the developer options. ART completely replaced Dalvik in Android 5.0 (Lollipop). It was designed to be faster and more robust than Dalvik.

The major feature of ART is that it uses Ahead of Time compilation instead of JIT by Dalvik. With Dalvik, the apps would be compiled to machine code when the user opened the app or when a feature was used for the first time. This was efficient in terms of storage used by an app but it slowed down app launch times. ART compiles apps to machine code during installation, and as of Android 7.0 (Nougat) the app is compiled to machine code when the app is opened for the first time.

This also leads to the new Android build process using the Jack compiler.

Untitled Diagram (1)

The Jack compiler does job the job of the javac java compiler and proguard (Android’s code obfuscation tool). The Jack compiler compiles java code straight to .dex without the need for code minimization. This leads to faster compilation.

Although the Jack compiler is new, its not used widely yet and is not enabled by default as of Android SDK 25. It does not support instant run yet, which is a new feature in Android Studio to speed up app deployment on devices.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s