Genymotion vs AVD


Who is the best between Genymotion or AVD ?

Sebelum membaca lebih lanjut, perlu anda ketahui untuk pertama saya secara pribadi tidak ingin berpihak pada salah satu diantara keduanya, karena saya tau keduanya memiliki performa dan keragaman fungsionalitas yang berbeda. Saya hanya ingin menuturkan beberapa hal baik yang terjadi di luar sana (forum, komunitas, dsb) ataupun dari segi pengalaman saya sendiri. Jika anda tertarik pada sesuatu (selama itu positif :D ), terkadang anda harus benar benar mencoba keduanya karena dari sana lah anda akan mengetahui beberapa hal dimana terkadang ada beberapa keadaan yang menyebabkan ini lebih baik daripada itu, oleh karena itu anda harus pandai pandai mengkondisikan nya saja.

Berbicara emulator, pada dasarnya, emulator android secara abstrak menghilangkan hardware yang mendasari dan mengemulasi semua fungsinya, seolah-olah itu pada perangkat yang sebenarnya, sedangkan dari sudut pandang OS, adalah mungkin sesuatu yang juga bisa berjalan pada jenis perangkat lainnya. Seperti halnya sebuah simulator, sebaliknya, memperlihatkan lebih dari mesin host dan tidak meniru hal-hal seperti CPU, memori akses, akses GPU dan fungsionalitas tingkat rendah lainnya. Hal ini secara gamblang bisa mengurangi resource untuk overhead dan secara umum mengarah pada kinerja yang jauh lebih baik. Mungkin lebih banyak kita jumpai adalah bahwa simulator ini bahkan kurang mirip dengan perangkat yang sebenarnya karena memang hal ini tidak lebih dari "preview" tahap peralihan dari satu "pengujian" keadaan yang sebenarnya. Secara default android SDK dilengkapi dengan emulator berdasarkan open source dari qemu project. Dan itu terbukti, kaya akan fitur perangkat lunak, yang dapat meniru segala macam arsitektur CPU. Tapi mungkin yang perlu di garis bawahi oleh pengguna emulator adalah emulasi yang notabene adalah sesuatu yang lintas platform / arsitektur adalah mereka bekerja secara lambat, lemot dan bahkan sangat lelet.

Mengulik kembali, sejarah rilisnya SDK Android, awalnya hanya memiliki ARM untuk emulator. Apakah ini berarti secara riil adalah bahwa setiap instruksi yang dijalankan emulator tersebut sama dengan mencoba untuk mengeksekusi perintah yang diterjemahkan ke dalam satu atau lebih instruksi pada prosesor host (x86 yang paling memungkinkan). Ya dulu, hal tersebut adalah overhead besar dan itu benar benar membuat reputasi Emulator AVD menjadi terkenal dan booming karena benar lambat nya. Selang beberapa waktu,beberapa project seperti Android x86 dan AndroVM muncul. Mereka menggunakan versi Android dikompilasi untuk x86 yang memungkinkan mereka untuk dieksekusi pada host x86 dengan berfokus pada overhead yang sangat kecil. Overhead bahkan kurang jika CPU Anda memiliki ekstensi virtualisasi dari vendor - VT-x untuk Intel dan AMD-V untuk AMD (memang ekstensi ini membuat akses memori jauh lebih rumit). Proyek-proyek ini berhak mendapat pujian dan kecintaan dari developer di seluruh dunia. Karena jika bukan karena mereka, Google mungkin tidak pernah melangkah permainan mereka dan merilis image resmi untuk x86 emulator atau yang ditambahkan akselerasi GPU.

Kemudian waktu berlalu dan muncul orang-orang di belakang AndroVM merilis iterasi terbaru mereka, ya mereka menyebutnya Genymotion . Pada dasarnya itu adalah emulasi android yang berjalan di VirtualBox VM, dengan banyak kemudahan dalam penggunaan sensor dan fitur hardware. Orang-orang pun mulai banyak yang membicarakan tentang seberapa cepat itu.

Kemudian bersama itu juga banyak diantaranya para vendor berlomba lomba menghadirkan beberapa emulator canggih untuk mendukung aktivitas development, mungkin diantaranya adalah HAXM,namun sebelum menggunakannya setidaknya kita cek daftar Intel tentang VT untuk memastikan CPU Anda mendukung Intel VT. Android Emulator HAXM singkatan - 'Intel Hardware Accelerated Execution Manager' Saat ini hanya mendukung Intel® VT (Intel Virtualization Technology). Android emulator ini berbasis pada QEMU. Sedangkan userinterface antara QEMU dan driver HAXM pada sistem host ini dirancang untuk menjadi vendor-agnostik. Kemudian yang lain adalah muncul android x86 yang di gadang gadang lebih cepat performanya dibanding emulator milik google, dan yang lainnya juga ikut mengekor adalah BlueStacks,YouWave,Windows Android Emulator, Jar of Beans,Andy, yang terbaru adalah Android Studio dimana secara IDE pun baru, dia menanamkan fitur live preview dalam layouting dan juga beberapa fitur menarik lainnya dan itu menyebabkan pertimbangan matang untuk official android telah menyarankan para developer android untuk bermigrasi pada IDE tersebut, dan kini dibidang lain arsitektur untuk development pun yang dulu nya standart x86 maksud saya 32 bit kini di sarankan untuk upgrade pada 64 bit untuk menyesuaikan dengan arsitektur dari arsitektur yang berjalan pada android itu sendiri, dan jika berbicara emulator masih banyak yang lainnya lagi dan mohon maaf tidak saya review satu satu karena saya hanya ingin sedikit sharing untuk produktifitas koding bukan dari segi emulating :D .

Banyak bertaburan beberapa review sengit antara avd dengan genymotion, mungkin saya hanya bisa memaparkan review dari beberapa developer yang memang itu terjadi di belakang debat fitur itu sendiri, berikut:

Genymotion menjalankan Robotium tes lebih cepat, dan dengan UI halus. Namun, jangan keliru dan memang ada beberapa perbedaan terlihat antara Genymotion dan default emulator Android, anda tidak dapat menggunakan alamat IP 10.0.2.2 khusus dengan Genymotion untuk mengakses localhost pada mesin anda untuk dijalankan pada emulator. Ini berarti untuk tes lokal anda mungkin perlu secara eksplisit mengkonfigurasi alamat IP dari mesin emulator untuk membuatnya terkoneksi. Perbedaan kecepatan emulator akan mengekspos masalah waktu dalam tes app development yang paling umum adalah kecepatan meload untuk layout listview. Ada yang sempat berpikir juga bahwa beberapa utilitas Robotium Solo mungkin sedikit berbeda antara Genymotion dan default emulator android. Pada Genymotion, samar samar terlihat masalah ketika searchText (String) itu membuat aksi scroll terlihat bergulir kebawah walaupun result telah ada pada layout saat ini, tapi bukan masalah katanya mungkin hanya gejala lain dari masalah waktu, anda juga bisa memanggil searchText (String, true) untuk mencegah scrollview nya bergulir. Di bidang lain ada beberapa issue pada genymotion terkait gps dan beberapa issue lainnya yang bisa anda temukan di beberapa forum.

Oke, mungkin demikian beberapa review singkat perbedaan antara keduanya dan real performance bisa anda coba sendiri, dengan catatan jika anda adalah pengguna android studio maka anda terlebih dahulu menginstall plugin genymotion untuk menjalankan genymotion pada perangkat anda.

Sekian dari saya, keep coding and learning ;)

./ creatorb


0 komentar :

Posting Komentar

Cancel Reply