Rahasia dibalik penggunaan ART pada Android Kitkat 4.4
Seperti yang kita ketahui, Google telah melakukan perombakan
besar-besaran secara system pada versi Android terbarunya, KItkat 4.4
fitur-fitur tambahannya sudah banyak dibahas diberbagai media online sejak
rumornya ada sampai sekarang ini. Namun yang paling dirasa menarik adalah saat
penjelasan perbedaan Runtime Compiler dari Kitkat 4.4 ini, dimana pada Android
versi terdahulu masih menggunakan Dalvick Cache untuk menjalankan semua
aplikasinya. Sedangkan pada Kitkat 4.4 ini, Android menggunakan ART (Android
RunTime), yang dikumandangkan memiliki banyak kelebihan dalam hal
responsifitas, efektifitas dan efisiensi daya??
Sangat menarik untuk mendalami lebih lanjut mengenai ART
ini, karena system ini disinyalir bisa membuat Android mengejar, bahkan
melampaui iOS secara “fluiditas” system. Yang memang sudah menjadi rahasia umum
bahwa dengan spesifikasi hardware 2x lipat pun respond an kecepatan OS Android
dalam mengeksekusi & menjalankan sebuah aplikasi biasanya masih belum bisa
menyamai iOS.
Berikut sedikit banyak info tambahan mengenai perbedaan
diantara Dalvick dan ART.
Category
|
DALVICK RUNTIME COMPILER
|
ART RUNTIME COMPILER
|
Used File
|
Traditional DEX
|
AOT, dex2AOT
|
Execution Method
|
JIT (Just In Time) compiler
|
Ahead-of-Time Compilation
|
Storage Used
|
Smaller
|
Bigger
|
Installation times
|
Quick
|
Slow
|
|
|
|
Dari table diatas kita bisa melihat kelebihan dan kekurangan
masing-masing Runtime Compiler yang ada, dan ART menawarkan performa yang lebih
menjanjikan dibandingkan dengan Dalvick. Secara teknis pada Dalvick, developer
hanya mengkompile sebagian dari keseluruhan aplikasi dan kode hasilnya harus
melewati interpreter yang ada disetiap device, setiap kali aplikasi dijalankan.
Proses ini seringkali menimbulkan overhead dan tentu saja tidak efisien secara
particular. Namun cara seperti ini menjamin kemudahan aplikasi berjalan pada
berbagai macam arsitektur & perangkat keras. Sedangkan ART diatur
sedemikian rupa agar meng-pra-kompile bytecode dari semua aplikasi yang ada
kedalam bahasa mesin/device saat pertama kali dinstall, mengubahnya menjadi
aplikasi bawaan. Proses itulah yang disebut kompilasi secara AOT, dengan
menghilangkan waktu kompilasi VM yang baru dan interpreter kode yang ada, waktu
eksekusi bisa dipangkas secara jauh dan proses berjalannya aplikasi pun
meningkat secara cepat.
Saat ini Google membawakan ART dalam tahap percobaan, agar
para vendor perangkat keras dan pengembang aplikasi bisa mempelajarinya. Karena
dalam presentasi pengenalannyapun Google jelas-jelas memberikan peringatan
bahwa dengan menggunakan ART ini bisa merusak aplikasi dan stabilitas system
terganggu. Mungkin ART memang belum 100% terlihat hasilnya, namun potensi yang
dimiliki oleh system ini sangat baik.
Bukti yang sudah terlihat adalah hasil benchmark beberapa
aplikasi saat menggunakan ART memiliki peningkatan hampir 100% atau setara dua
kali lipat dibandingkan dengan Dalvick. Ini berarti waktu tunggu, eksekusi
tugas pada prossesor akan lebih cepat dijalankan, membuat system lebih banyak
memiliki waktu sisa/santai. Aplikasi kebanyakan juga akan mendapat keuntungan
dengan animasi yang halus, respon yang lebih cepat dan sensor data yang lain.
Apalagi device sekarang banyak yang menggunakan dual bahkan quad core, akan
banyak aktifitas yang hanya membutuhkan core yang speednya lebih rendah, bahkan
sangat mungkin penggunaan yang lebih efisien pada core berdaya rendah milik ARM
dengan arsitektur big.LITTLE-nya.
Kekurangan ART ini pada besaran file aplikasi yang bertambah
dikarenakan kompilasi secara penuh pada kode mesin membutuhkan lebih banyak
tempat dibandingkan dengan bytecode. Ini karena setiap symbol pada bytecode
menggantikan beberapa intruksi pada kode mesin. Besaran kenaikan ukuran
aplikasinya juga berada dikisaran 10-20% saja, tentunya tidak akan terlalu mencolok.
Terlihat sangat menjanjikan memang, tentunya jika aplikasi
yang dipakai mendukung ART. Dan untuk memastikan apakah aplikasi yang digunakan
bisa berjalan dengan baik pada ART, tidak ada jalan lain lagi selain mencobanya
sendiri. Untuk dapat menjalankannya tentunya pertama kali harus mengupgrade
versi Android kita ke Kitkat 4.4, dan jika menunggu update dari Google kiranya
cukup lama. Untuk beberapa device sungguh sangat beruntung sudah memiliki CM11
sebagai persamaan dari Kikat 4.4 ini.
Sayangnya jika ingin mencoba aplikasi yang kita pakai bisa
berjalan pada ART, waktu yang dibutuhkan untuk merubah dari Dalvick ke ART
cukup lama, setelah memilihnya pada “Setting/Developer” tentunya kita harus
mereboot device kita untuk megenerasi semua file aplikasi kita menjadi OAT.
Bisa dibayangkan jika kita memiliki ratusan aplikasi, berapa lama harus
menunggu?? Dan dengan kekurangan pada
lebih besarnya ukuran file aplikasi yang diperlukan daripada dengan menggunakan
Dalvick, metode ART ini sedikit memiliki kendala. Terutama jika device yang
menggunakannya termasuk dalam kategori low level dengan storage terbatas.
Semua kembali lagi pada pilihan, apakah jika memiliki
kesempatan untuk mencoba ART kita akan melakukannya, atau cukup dizona aman
saja dengan Dalvick Cache. Setiap hal baru pasti ada resiko yang harus
ditempuh, demi hasil yang memuaskan……..so take it or leave it, up to you Guys.
Khusus untuk mengetahui kompatibiltas aplikasi yang kita
gunakan, teman kita bippi79 dari xda-dev menyediakan sebuah web
penuh dengan detail data aplikasi apa saja yang bisa
berjalan pada ART ini. Jika aplikasi yang kita gunakan tidak ada pada daftar
diweb itu, cukup PM bippi79 dan dia akan memberikan informasi apakah aplikasi
yang kita tanyakan/inginkan bisa berjalan diART.
Sumber :
Saya pake Samsung Galaxy nexus + CM11, udah coba pake ART, berasa lebih cepat untuk membuka aplikasi, entah perasaan saya aja ato ngga.. Tp yg jelas saya sih nyaman sama ART ini.. :)
ReplyDeleteyg kurasa, bagai hidup tanpa dosa. saat ku pakai nexus 5 dengan android L ini. gila brow...... seperti berjalan diatas awan.
ReplyDelete