Pada saat android Kitkat di rilis, pihak google mengenalkan runtime baru yang bernama ART. Jika pada android sebelumnya runtime yang dipakai adalah dalvik, maka pada android kitkat runtime ART mulai di uji coba. dan ketika ajang google I/O, Google merilis OS android versi terbaru yaitu Android 5.0 L (Lollipop). Pada versi ini android akan sepenuhnya memakai Android Runtime terbaru terbaru (ART). Lalu apa bedanya dengan runtime Dalvik yang terlebih dahulu telah populer?



Sebelumnya Dalvik menjadi runtime andalan untuk google karena simple dan tidak terlalu kompleks. Namun seiring dengan bertambahnya waktu, perkembangan hardware berkembang pesat. Jika hanya mengandalkan dalvik, maka performa OS android tidak akan bisa mengimbangi performa hardware yang semakin maju dan malah menyebabkan performa OS android tidak keluar. Nah untuk mengatasi hal ini sebenarnya google pernah menambahkan JIT-compiler di dalvik pada android versi 2.2 agar performa meningkat, namun tetap saja perkembangan hardware yang super cepat seperti cpu multicore, memori penyimpanan dan RAM yang semakin besar belum bisa dimanfaatkan secara maksimal oleh android, maka dari itu membuat google mengembangkan Android Runtime (ART) yang medukung perkembangan hardware tersebut agar bisa memanfaatkan resource hardware secara maksimal.






Perbedaan Dalvik vs ART

Seperti yang kita ketahui aplikasi android dibuat dengan bahasa pemrograman Java (java classes) kemudian dikonversi ke DEX bytecode sesuai dengan arsitektur cpu yang digunakan. Saat kita menjalankan aplikasi android maka baris-baris kode DEX tadi akan dikonversi ke dalam bahasa mesin agar dapat dieksekusi oleh cpu Nah fungsi translasi inilah tugas dari runtime Dalvik dan ART.

Perbedaannya adalah, Dalvik menggunakan compiler Just-in-Time (JIT) untuk melakukan translasi DEX ke bahasa mesin pada saat aplikasi dijalankan/ dieksekusi. kode-kode yang sudah di translate tersebut kemudian disimpan (cached)di memory. Sementara ART menggunakan compiler Ahead-of-Time (AOT) yang melakukan translasi kode-kode DEX ke bahasa mesin pada saat melakukan instalasi aplikasi. Jadi saat kita menginstal aplikasi, maka baris-baris kode DEX akan langsung di translate ke bahasa mesin dan disimpan pada memory internal perangkat. Sehingga pada saat menjalankan aplikasi tidak perlu lagi melakukan translate kode DEX ke bahasa mesin.

Secara performa tentu ART lebih menguntungkan. Karena sudah melakukan translasi kode DEX ke bahasa mesin pada saat menginstal aplikasi. Sehingga saat menjalankan aplikasi tidak perlu melakukan translasi lagi dan mempercepat proses eksekusi.







Google juga mengklaim jika ART juga membuat irit baterai. Penjelasannya begini, jika menggunakan runtime Dalvik, pada saat membuka aplikasi maka akan melakukan translasi kode DEX ke bahasa mesin yang ternyata sangat memakan resource CPU. Hal ini tentu memakan banyak energi dari baterai. Nah, dengan ART saat membuka aplikasi tidak perlu melakukan translasi DEX ke bahasa mesin karena sudah dilakukan saat proses instalasi. Hal ini mengurangi pemakaian resource cpu yang tentu saja membuat baterai lebih irit.


Namun, dibalik kelebihan ART ternyata ada sedikit kekurangan. Yaitu proses instalasi aplikasi akan berjalan lebih lama dari perangkat yang menggunakan runtime Dalvik. Hal ini karena proses translasi DEX ke bahasa mesin yang langsung dilakukan pada saat proses install aplikasi. Selain itu perangkat dengan runtime ART juga memakai space memory lebih banyak dari perangkat yang menggunakan runtime Dalvik.

Menjajal Android Runtime (ART) di perangkat Android kitkat 4.4.x

Sebelum dijadikan sebagai runtime default untuk android 5.0. Ternyata ART sudah diuji cobakan selama dua tahun pada android kitkat. Walaupun secara default kitkat menggunakan runtime dalvik, namun kita juga bisa menggunakan ART sebagai runtime di perangkat android kitkat.

jika anda mempunyai Perangkat android yang sudah menggunakan OS android kitkat, anda bisa mencoba runtime ART ini. Pertama aktifkan dulu "developer Options", buka setting> about phone> kemudian tap 7x pada "build Number" hingga develper options terbuka. Kemudian pergi ke setting> developer options> select runtime> use dalvik. kemudian perangkat akan reboot.