Tuesday, December 31, 2013

RAHASIA DIBALIK PENGGUNAAN "ART" PADA ANDROID KITKAT 4.4

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 :
1.       www.android-police.com
2.       www.xda-developers.com

3.       http://www.teknologi.com

3 comments:

  1. 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.. :)

    ReplyDelete
  2. yg kurasa, bagai hidup tanpa dosa. saat ku pakai nexus 5 dengan android L ini. gila brow...... seperti berjalan diatas awan.

    ReplyDelete