Jumat, 24 Oktober 2014

Perbedaan antara Dalvik VM dan ART Runtime


Dalvik dan ART

Nah di postingan kali ini saya akan membahas tentang perbedaan antara ART dan Dalvik VM, ya seperti yang kita tahu bahwa android kitkat memiliki 1 fitur khusus yang tersedia di developer option yang cukup menarik yaitu ART (android run time). nah android runtime ini memang menawarkan beberapa keunggulan dibandingkan dengan penggunaan dalvik pada android versi yang lama. 

nah ART memiliki beberapa perbedaan dan fitur unggulan dibandingkan dengan Dalvik seperti:

- Ahead Of Time Compilation (AOL)
ART memperkenalkan depan-of-waktu (AOT) kompilasi, yang dapat meningkatkan kinerja aplikasi. ART juga memiliki ketat install-time verifikasi dari Dalvik.

Pada waktu menginstal, ART mengkompilasi aplikasi menggunakan alat dex2oat pada perangkat. Utilitas ini menerima file DEX sebagai masukan dan menghasilkan executable aplikasi dikompilasi untuk perangkat target. Utilitas yang harus dapat mengkompilasi semua file DEX valid tanpa kesulitan. Namun, beberapa alat pengolahan pasca menghasilkan file yang tidak valid yang dapat ditoleransi oleh Dalvik tetapi tidak dapat dikompilasi oleh ART. Untuk informasi lebih lanjut, lihat Mengatasi Masalah Garbage Collection.

Dukungan untuk fitur debugging lebih

ART mendukung sejumlah pilihan debugging baru, khususnya di-koleksi yang berhubungan dengan fungsi monitoring dan sampah. Misalnya, Anda dapat:

Lihat apa kunci diadakan di jejak stack, kemudian melompat ke thread yang memegang kunci.
Tanyakan berapa banyak contoh hidup ada dari kelas tertentu, meminta untuk melihat contoh, dan melihat apa referensi menjaga obyek hidup.
Filter peristiwa (seperti breakpoint) untuk contoh spesifik.
Melihat nilai yang dikembalikan oleh metode ketika keluar (menggunakan "metode-keluar" peristiwa).
Set watchpoint lapangan untuk menangguhkan pelaksanaan program ketika bidang tertentu diakses dan / atau dimodifikasi.

Keuntungan dari ART lebih dari Dalvik

Aplikasi meluncurkan kecepatan luar biasa cepat dalam kasus ART karena tidak ada dikompilasi di eksekusi.
Kecepatan boot lebih cepat dari Dalvik karena tidak ada yang execued dari partisi Dalvik seperti dalam kasus ROM odexed di Dalvik
Meningkatkan cadangan baterai dengan mengurangi kerja CPU karena tidak adanya kompilasi bekerja pada aplikasi eksekusi.
Dan akhirnya itu adalah pahala yang besar bagi pengembang karena sebagian besar pengembang khawatir bahwa ROM odexed lebih cepat daripada ROM Deodexed tetapi mereka akan deodex ROM mereka karena mereka sangat tema itu. Dalam kasus ART apakah ROM tersebut odexed atau deodexed tidak masalah, itu mengkompilasi kode lengkap ke dalam bahasa mesin pada instalasi aplikasi. sehingga bahkan ROM Deodexed adalah secepat odexed dalam ART

beberapa kerugian dari ART

Sejak ART precompiles aplikasi pada instalasi, dibutuhkan 10-20% lebih banyak ruang setelah instalasi dari Dalvik. Tapi ini dapat hanya diselesaikan dengan menggunakan aplikasi seperti apps2sd / Link2SD / gl2sd ketika partisi penyimpanan aplikasi Anda penuh
Satu lagi adalah karena hanya fitur eksperimental sekarang beberapa aplikasi yang tidak kompatibel di ART yang akan dibuat kompatibel segera di update mereka.

nah untuk melihat aplikasi yang tidak kompatibel dengan art, bisa dilihat disini
Android Runtime

Sementara Dalvik VM:

- Dalvik runtime menggunakan JIT (Just-In-Time) kompilasi untuk menafsirkan Bytecode
- penyusun
Sebuah compiler adalah program atau seperangkat program yang mengubah kode sumber yang ditulis dalam bahasa pemrograman (bahasa sumber) ke dalam bahasa komputer lain
- bytecode
Bytecode juga dikenal sebagai p-code (kode portabel), adalah bentuk set instruksi yang dirancang untuk eksekusi efisien dengan juru software
- penerjemah
Interpreter adalah program yang menerjemahkan kode sumber ke dalam komputer / bahasa mesin
JIT compliation
JIT (Just-In-Time) compliation menafsirkan bytecode ke dalam bahasa mesin di itu runtime (pada saat aplikasi dijalankan).

nah jadi pada intinya ART melakukan kerja penerjemahan program dilakukan pada saat program sedang diinstall sehingga dapat memudahkan pengguna jika aplikasi sudah selesai diinstall maka kemungkinan aplikasi itu akan crash kecil namun proses instalasi aplikasi akan cukup memakan waktu yang lama, karena proses kompilasi berlangsung pada saat menginstall aplikasi

Untuk dalvik VM, melakukan pekerjaan compilasi program pada saat program sedang dibuka atau dijalankan sehingga dapat memberikan fitur kelebihan seperti proses instalasi aplikasi lebih cepat, namun kemungkinan aplikasi tersebut akan crash cukup besar karena pada saat aplikasi dijalankan proses kompilasi pun ikut berjalan di saat yang bersamaan. Jika performa perangkat kita kurang memadai biasanya akan terjadi crash atau hang

nah untuk mengubah metode runtime pada android cukup mudah..
1. aktifkan terlebih dahulu developer option pada kitkat dengan mengklik build number pada aplikasi settings - about device. sebanyak 7x
2. jika sudah masuk ke developer option dan cari select runtime dan pilih art. lalu akan ada pilihan anda akan mengganti lib dalvik menjadi libart.so, maka pilih yes dan android anda akan merestart
3. jika sudah silahkan mencoba Android RunTime di android anda

jika ada yang kurang jelas, komentar saja yaa
Pendapat :

0 komentar: