Emulator Android agak lamban. Untuk beberapa perangkat, seperti Motorola Droid dan Nexus One, aplikasi berjalan lebih cepat di perangkat yang sebenarnya daripada emulator. Ini adalah masalah saat menguji game dan efek visual.
Bagaimana Anda membuat emulator berjalan secepat mungkin? Saya telah mempermainkan parameternya tetapi belum menemukan konfigurasi yang menunjukkan peningkatan nyata.
Jawaban:
Halaman web resmi
~ 50% lebih cepat
Windows:
Buka folder root Android SDK dan arahkan ke ekstra \ intel \ Hardware_Accelerated_Execution_Manager. Jalankan file IntelHaxm.exe untuk menginstal. (di Android Studio Anda dapat menavigasi ke: Pengaturan -> Android SDK -> SDK Tools -> Intel x86 Emulator Accelerator (penginstal HAXM))
Buat AVD dengan "Intel atom x86" CPU / ABI
Juga jangan lupa pasang yang ini
PS selama pembuatan AVD menambahkan memori emulasi: Hardware / New / Device ram size / nilai pengaturan 512 atau lebih
Linux:
PS Untuk Fedora , untuk Ubuntu
OS-X:
PS: Periksa alat ini, bahkan percobaan yang sangat nyaman
sumber
/extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.dmg
setelah mengunduh paket dari manajer SDK.^(?!.*(nativeGetEnabledTags)).*$
sebagai filter teks. Saya telah melaporkan ini sebagai masalah bug . Juga, saya pikir Anda harus mematikan perangkat emulator dengan benar (tahan tombol daya, lalu pilih Matikan ) untuk menghindari kesalahan saat Anda memulainya lain kali (saya hanya bisa menutup emulator ARM, tetapi dengan emulator Intel, hanya menutup tampaknya menciptakan masalah).UPDATE: Sekarang gambar Intel x86 tersedia, jawaban terbaik adalah dengan semangat di atas.
Seperti yang ditunjukkan CommonsWare dengan benar, emulator lambat karena mengemulasi CPU ARM, yang memerlukan terjemahan ke opcode Intel. Virtualisasi ini mengunyah CPU.
Untuk membuat emulator lebih cepat, Anda harus memberinya lebih banyak CPU. Mulailah dengan CPU cepat atau tingkatkan versi jika Anda bisa.
Kemudian, beri emulator lebih banyak dari CPU yang Anda miliki:
Saya melihat peningkatan sekitar 50% dengan dua perubahan ini.
Untuk mengatur afinitas prosesor pada Windows 7:
Catatan: Ketika Anda mengubah afinitas dengan cara ini, itu hanya berubah selama masa proses. Mulai berikutnya, Anda harus melakukannya lagi.
sumber
Saya ingin menyarankan Genymotion memutar. Ini berjalan di VirtualBox Oracle, dan secara sah akan mencapai 60 fps pada sistem moderat.
Berikut screencap dari salah satu bengkel saya, yang berjalan pada model MacBook Air 2012 kelas bawah:
Jika Anda tidak dapat membaca teks, ini adalah emulator Nexus 7 yang berjalan pada 56,6 fps. Bonus tambahan (besar!) Adalah bahwa Google Play dan Google Play Services dikemas dengan mesin virtual.
(Sumber animasi yang diperagakan dapat ditemukan di sini .)
sumber
Aktifkan Akselerasi Perangkat Keras GPU (selain HAXM Intel), jika Anda menggunakan API 15 v3 atau yang lebih baru dan SDK Tools v17 +. Akselerasi grafis untuk emulator mengambil keuntungan dari perangkat keras komputer grafis pengembangan Anda, khususnya unit pemrosesan grafis (GPU), untuk membuat gambar layar lebih cepat. Ini memberikan dorongan nyata dalam kecepatan.
Untuk mengaktifkan akselerasi grafik yang diaktifkan secara default pada emulator Anda : saat membuat AVD, di bagian Hardware, klik New, pilih emulasi GPU dan tetapkan nilainya ke Ya.
Untuk mengaktifkan akselerasi hanya saat runtime : gunakan flag -gpu saat memulai emulator seperti ini:
Sumber: Google Menggunakan tutorial Emulator .
sumber
Sunting Meskipun menggunakan gambar Intel mendapatkan beberapa keuntungan kinerja, kinerja yang diperoleh dengan menggunakan Genymotion jauh lebih besar. Lihat jawaban Paul Lammertsma .
Jawaban Sebelumnya
Dengan ADT rev 17 emulator mendukung menjalankan gambar sistem x86 dalam mode virtualisasi pada Windows dan Mac OS X. Ini memiliki dampak nyata pada kinerja.
ADT rev 17 catatan: http://android-developers.blogspot.jp/2012/03/updated-sdk-tools-and-adt-revision-17.html
Mengkonfigurasi Akselerasi Mesin Virtual: http://developer.android.com/guide/developing/devices/emulator.html#accel-vm
sumber
Saya baru-baru ini beralih dari inti 2 @ 2.5 dengan ram 3gb ke i7 @ 1.73 dengan ram 8gb (kedua sistem menjalankan Ubuntu 10.10) dan emulator berjalan setidaknya dua kali lebih cepat sekarang. Melemparkan lebih banyak perangkat keras tentu membantu.
sumber
Hanya ingin mengatakan bahwa setelah saya menginstal akselerator Intel HAXM dan menggunakan gambar Intel Atom emulator tampaknya berjalan 50 kali lebih cepat. Perbedaannya luar biasa, lihatlah!
http://www.developer.com/ws/android/development-tools/haxm-speeds-up-the-android-emulator.html
sumber
Saya perhatikan bahwa emulator hanya default untuk Core 0, di mana sebagian besar aplikasi Windows akan default ke inti "apa saja". Juga, jika Anda meletakkannya di inti lain (seperti inti terakhir), itu dapat membuat emulator menjadi gila. Jika Anda bisa, Anda dapat mencoba menempatkan aplikasi penggunaan CPU berat Anda di core CPU lain untuk meningkatkan kecepatan.
Dari segi perangkat keras, dapatkan CPU tercepat yang bisa Anda dapatkan yang berfungsi untuk aplikasi inti tunggal. Lebih dari 2 core mungkin tidak mengalami perbedaan besar dalam hal kinerja emulator.
Eclipse + emulator Android bersama-sama memakan satu ton RAM. Saya akan merekomendasikan 3 gigs RAM setidaknya karena saya menggunakan sistem dengan 2 gigs RAM, dan itu melambat karena sistem kehabisan RAM dan mulai menggunakan file halaman.
Saya merasa bahwa CPU terbaik untuk itu mungkin akan memiliki jam tinggi (hanya gunakan jam sebagai ukuran untuk CPU dalam seri btw yang sama), menangani operasi non-SIMD dengan baik, dan memiliki mekanisme turbo boost. Tidak banyak tolok ukur berbasis Java, tetapi secara keseluruhan mencari tolok ukur aplikasi seperti kompresi dan kantor. Jangan melihat permainan atau media karena itu sangat dipengaruhi oleh SIMD. Jika Anda menemukan yang Java, bahkan lebih baik.
sumber
Pada tahun ini google I / O (2011), Google menunjukkan emulator yang lebih cepat. Masalahnya bukan pada kode byte antara ARM dan x86 tetapi rendering perangkat lunak dilakukan oleh QEMU. Mereka melewati rendering QEMU dan mengirim rendering langsung ke server X yang saya percaya. Mereka menunjukkan permainan mobil dengan performa dan fps yang sangat bagus.
Saya ingin tahu kapan itu akan tersedia untuk pengembang ...
sumber
Google baru-baru ini mengumumkan emulator baru untuk Android. Ini jauh lebih cepat dan lebih baik daripada yang lama. Anda dapat menemukan info lebih lanjut di sini .
sumber
Saya pikir itu karena mesin virtual CLR menggunakan CPU secara langsung tanpa terjemahan kode opcode. Ini mungkin optimasi untuk aplikasi CLR atau mungkin windows mobile / window phone 7 yang dimulai pada prosesor INTEL. Platform Android berbasis linux dan secara teoritis Anda dapat memulai Android di mesin virtual di lingkungan i686. Dalam hal ini mesin virtual seperti vmware dapat menjalankan beberapa opcodes secara langsung. Tetapi opsi ini hanya akan diizinkan jika Anda menulis di Java. Karena Java menginterpretasikan byte-code mereka atau mengkompilasi sebelum eksekusi. lihat: http://www.taranfx.com/how-to-run-google-android-in-virtualbox-vmware-on-netbooks
sumber
Terima kasih @est! Bekerja seperti pesona. Beberapa hal yang perlu diperhatikan: Perlu menerapkan perbaikan terbaru Intel untuk HAXM untuk menangani masalah panik kernel: http://software.intel.com/en-us/android/articles/intel-hardware-accelerated-execution-manager Juga, perhatikan , jika Anda memiliki lebih dari satu abi, Anda harus menghapus instalan satu karena bug di versi terbaru API Android (r19): https://code.google.com/p/android/issues/detail?id= 66740 (hapus armeabi-v7a dalam kasus ini, karena Anda menginginkan abi x86). Selain 45 menit yang saya butuhkan untuk menyelesaikannya, itu adalah latihan yang sangat bermanfaat dalam hal peningkatan kinerja emulator.
sumber
Anda juga dapat mencoba Visual Studio Android Emulator , yang juga dapat diinstal sebagai emulator mandiri (Anda tidak perlu Visual Studio). Harap dicatat, itu hanya dapat diinstal pada Windows Pro atau sistem yang lebih tinggi.
sumber
Gunakan Genymotion sebagai ganti emulator. Genymotion memiliki kinerja yang lebih baik https://www.genymotion.com
sumber
pilih emulator resolusi rendah (misalnya: Nexus S) jika Anda tidak memiliki kartu grafis yang baik (seperti saya)
sumber
Saya telah menggunakan Intel (86) CPU / ABI. Saya membuat emulator lain menggunakan ARM (armeabi-v7a) dan saya menemukan peningkatan dengan kecepatan. Saya menggunakan platform 4.1.2 API level 16
sumber
Saya harap ini akan membantu Anda.
Goto to your BIOS settings. Enable your Virtualization technology in your settings..
Itu memecahkan masalah saya ...
sumber
Perbarui Android Studio Anda saat ini ke Android Studio 2.0 dan perbarui gambar sistem.
Emulator Android Studio 2.0 berjalan ~ 3x lebih cepat dari emulator Android sebelumnya, dan dengan peningkatan ADB sekarang Anda dapat mendorong aplikasi dan data 10x lebih cepat ke emulator daripada ke perangkat fisik. Seperti perangkat fisik, emulator Android resmi juga menyertakan layanan Google Play bawaan, sehingga Anda dapat menguji lebih banyak fungsionalitas API. Akhirnya, emulator baru memiliki banyak fitur baru untuk mengelola panggilan, baterai, jaringan, GPS, dan banyak lagi.
sumber