Seringkali pengguna Android mendengar istilah ‘Dalvik’ dan juga ‘ART’. Tetapi berapa ramai yang benar-benar memahaminya? Adakah keduanya boleh diimplementasikan kepada sistem?
Saya terpanggil untuk menulis biarpun saya sedar adalah sukar untuk menerangkan mengenai Dalvik dan ART kerana ia agak sedikit teknikal. Errr.. Sebenarnya ia agak benar-benar teknikal. Jadi saya berharap kalau anda masih tidak faham juga, anda kena buat sedikit pembacaan intensif lah ya. Rajin-rajinlah buka artikel di forum-forum IT seperti XDA.
Kalau subjek ini agak sukar, saya cadangkan anda cuma ambil ‘permukaannya’ sahaja, asalkan anda faham bagaimana cara kerjanya sudah cukup.
Apa Itu Dalvik?
Dalvik adalah proses mesin maya (Virtual Machine) dalam sistem operasi Android. Ia adalah perisian yang menjalankan aplikasi pada peranti Android. Program-program biasanya ditulis dalam Java dan disusun (compile) kepada bytecode. Ia kemudiannya ditukar dari fail Java Virtual Machine-compatible .class kepada fail Dalvik-compatible .dex (Dalvik Executable) sebelum pemasangan pada peranti. Format Dalvik Executable yang padat ini direka untuk sistem yang terhad dari segi memori dan pemproses kelajuan.
Sumber Rujukan : Dedicated Runtime Thread
Dalvik adalah berasaskan kepada kompilasi JIT (Just In Time). Ini bererti setiap kali anda menjalankan sesuatu aplikasi, sebahagian daripada kod program yang diperlukan untuk menjalankan ia akan diterjemahkan (compiled) kepada kod mesin (machine code) pada waktu itu.
Apabila semakin lama anda menggunakan aplikasi tersebut, kod tambahan akan dikompilasi/disusun (compiled) dan disimpan sebagai cache, jadi sistem akan boleh menggunakan semula kod tersebut semasa aplikasi sedang dijalankan. Disebabkan JIT hanya menyusus sebahagian daripada kod, maka ia hanya meninggalkan jejak memori yang kecil dan juga menggunakan sebahagian kecil sahaja ruang fizikal pada peranti.
Apa Itu ART?
ART ialah Android Runtime yang dikatakan bakal menggantikan Dalvik. Ia telah diusahakan oleh Google selama lebih dari 2 tahun. Tujuan utama ART ialah untuk menghasilkan runtime yang lebih pantas, lebih laju daripada Dalvik, dan juga tidak mempunyai masalah-masalah sama yang dihadapi oleh Dalvik.
Apa yang membezakan Dalvik dan ART?
Beza utama ialah bagaimana cara ia menyusun kod-kod aplikasi. Dalvik beroperasi dengan JIT (sepertimana yang diterangkan di atas), yang mana ia akan menukarkan bytecode kepada machine code, manakala ART pula akan menggunakan keseluruhan kod (bukannya sebahagian seperti Dalvik) dan akan melakukan pra-penyusunan sewaktu pemasangan aplikasi lalu menyimpannya ke dalam ruang penyimpanan telefon (bukan disimpan dalam RAM).
Sasarannya ialah dengan tidak perlu lagi bergantung kepada JIT, kita berharap pelancaran kod aplikasi akan menjadi lebih pantas.
Disebabkan ART menjalankan machine code secara terus, ia tidak menggunakan CPU sekuat kaedah penyusunan kod JIT. Kurang penggunaan CPU, bererti kurang penggunaan bateri, dan ini adalah faedah terbaik dari ART yang boleh diperoleh.
Kenapa ART masih belum sesuai digunakan sebagai runtime harian?
Umum perlu tahu, bahawa ART masih lagi dalam proses eksperimen, dan ia diperkenalkan buat pertama kali dalam Android 4.4 KitKat. Ia masih pesat dibangunkan, jadi boleh terdapat pelbagai kebarangkalian hasil tidak bagus kepada peranti seperti :
1. Machine code akan menggunakan lebih banyak ruang berbanding bytecode. Kod-kod itu juga akan di pra-susun setiap kali pemasangan aplikasi, jadi tempoh pemasangan akan mengambil sedikit lebih masa berbanding Dalvik. Tambahan pula, ia akan meninggalkan jejak memori yang lebih besar sewaktu melancarkan aplikasi, oleh itu boleh jadi lebih sedikit aplikasi boleh berjalan serentak.
2. Terdapat aplikasi-aplikasi yang tidak serasi dengan ART.
Kesimpulan
Secara asasnya saya boleh katakan ART sememangnya banyak meningkatkan prestasi peranti Android secara keseluruhan. Kita boleh berharap Google akan melepaskan Android versi terbaru dengan ART yang telah diimplementasikan secara menyeluruh dan berkesan. Cuma buat waktu ini, ia masih lagi bersifat eksperimental, jadi penggunaannya disarankan dalam keadaan berhati-hati supaya apa yang paling penting peranti anda tidak rosak, dan data-data penting anda tidak pula hilang.
Sekian.