Emulator Android gagal mengalokasikan memori 8

157

Ketika saya mencoba menjalankan emulator WXGA800 saya dari Eclipse itu memberikan kesalahan seperti ini

Failed to allocate memory: 8
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

Saya juga memeriksa tautan berikut

Gagal mengalokasikan memori: 8

Android: gagal mengalokasikan memori

Saya telah mencoba mengurangi ukuran RAM di emulator dan meningkatkan Java heapsize dan ramsize tetapi saya masih menghadapi kesalahan yang sama.

Vishwanath.M
sumber
coba atur resolusi secara manual alih-alih gunakan kulit bawaan.
SteveR
Silakan periksa jawaban saya di sini: stackoverflow.com/a/14420779/1993898
Prymaldark
kemungkinan rangkap dari Gagal mengalokasikan memori: 8
Peter O.
Keren. Saya mengucapkan pertanyaan yang sama ini dengan kurang fasih dan meminta orang-orang untuk memilihnya. Saya harap ada jawaban yang bagus di sini di suatu tempat. Saya mencoba meniru Samsung Galaxys dengan dukungan S-Pen, dan mereka semua melebihi kemampuan emulator juga.
Sinthia V

Jawaban:

410

Pembaruan : Dimulai dengan Android SDK Manager versi 21, solusinya adalah mengedit C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.inidan mengubah nilainya

hw.ramSize=1024 

untuk

hw.ramSize=1024MB

Android 4.2 API 17

Emulatornya sangat lambat, berharap mereka akan segera merilis gambar intelgunakan gambar API17 Intel x86 yang baru jika Anda ingin mengubahnya .. ( HAXM , Konfigurasi )


Android SDK Manager sebelumnya dirilis:

Punya masalah yang sama dengan kulit WXGA800 bawaan. Saya membuatnya bekerja dengan mengedit pengaturan perangkat virtual ke:

  • Target 4.0.3 API 15 / 4.1.0 API 16
  • SD-card 300MiB
  • Resolusi 1280 x 800 (atur secara manual-bukan yang bawaan)
  • Ukuran ram perangkat 1024MB (dengan MB ditambahkan ke nomor)
  • LCD yang diabstraksi 160

Di sini tablet saya mengkonfigurasi untuk 4.1.0 API 16 C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

hw.lcd.density=160
sdcard.size=300M
skin.path=1280x800
skin.name=1280x800
hw.cpu.arch=arm
abi.type=armeabi-v7a
hw.cpu.model=cortex-a8
vm.heapSize=48
hw.ramSize=1024MB
image.sysdir.1=system-images\android-16\armeabi-v7a\

Konfigurasi ini juga menunjukkan kunci perangkat lunak Screenshot Android 4.1 emulator 1280x800 @ 160

Lin-Art
sumber
1
Saya merasa agak bodoh karena tidak mencobanya sebelumnya :)! Terima kasih kawan, Anda menyelamatkan hidup saya!
caiocpricci2
2
1 Saya mengambil saran ini dan kemudian memulai emulator dari baris perintah untuk membuatnya bekerja. Semoga Xavier akan menyelamatkan kita dari keributan ini segera ....
OceanLife
9
Saya membuat kesalahan hilang dengan mengurangi "Opsi Memori: RAM" ke 512 dan mengatur Ukuran SDcard ke 300MiB.
Seseorang di suatu tempat
3
Serius, betapa bodohnya bug ... / facepalm Setidaknya aku bisa maju sekarang! Terima kasih!
mrswadge
2
Wow. ini mengerikan. SDK dan kit pengujian resmi tidak menangani ini dengan benar? Anda harus mengedit file .ini dengan tangan, dan itu sudah terjadi hampir setahun? itu gila.
matt lohkamp
67

Solusi berikut ini bekerja untuk saya. Dalam file konfigurasi berikut:

C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.ini

Menggantikan

hw.ramSize=1024

oleh

hw.ramSize=1024MB
boing
sumber
1
Tidak yakin mengapa tetapi ini memperbaikinya. Terima kasih
schar
1
Tempat yang bagus, ini pasti bug ... Saya mengikuti konvensi file dan hanya menggunakan M, yang juga berfungsi.
HGPB
17
Agak menyedihkan di pihak Google, sungguh. Apakah mereka tidak menguji?
Cory Trese
+1 Ini berfungsi untuk saya. Mungkin itu karena ketika saya menentukan ukuran ram saya pilih 1 GB.
Eng.Fouad
4
Dalam jawaban lain seseorang mengklaim bahwa "MB" sebenarnya tidak dikenali dan mengubah dari 1024 ke 1024MB sebenarnya mengurangi memori menjadi 256MB yang merupakan default dan karenanya mulai bekerja. Sumber: stackoverflow.com/questions/7222906/failed-to-allocate-memory-8
Juha Palomäki
9

Dalam kasus saya, solusinya adalah mengubah tidak hanya config.initetapi juga hardware.iniuntuk kulit tertentu dari hw.ramSize=1024menjadi hw.ramSize=1024MB.

Untuk menemukan hardware.inifile:

  1. Buka config.inidan temukan skin.path.
  2. Kemudian navigasikan ke folder tempat android sdk berada.
  3. Membuka jalan, seperti ini: android-sdk\platforms\android-15\skins\WXGA720.
  4. Di dalam folder ini Anda akan menemukan hardware.ini.
  5. Ubah hw.ramSize=1024ke hw.ramSize=1024MB.
Marlos
sumber
2
bekerja untukku. Saya tidak tahu mengapa orang tidak menyukai jawaban Anda. Terima kasih!
Veaceslav Gaidarji
5

Pembaruan: Dimulai dengan Android SDK Manager versi 21, solusinya adalah mengedit C: \ Users \ .android \ avd \ .avd \ config.ini dan ubah nilainya

hw.ramSize = 1024 ke

hw.ramSize = 1024MB

ATAU

hw.ramSize = 512MB

Alexander Zaldostanov
sumber
3

Kesalahan ini menyala jika Anda mengatur RAM AVD ke apa pun yang lebih besar maka satu blok memori kontinu terbesar yang dapat dialokasikan oleh emulator. Tutup apa pun yang berat RAM, mulai emulator Anda, mulai semua yang Anda butuhkan. Dalam jawaban sebelumnya saya telah membatasi ini untuk gambar x86 dengan IntelHAXM, tetapi ini sebenarnya adalah kasus untuk semua jenis instance emulator.

ptashek
sumber
3

Dalam pengaturan AVD: Ubah opsi CPU / ABI ke MIPS. Ini berhasil untuk saya

back2back
sumber
1

Saya memiliki masalah yang sama dan yang akhirnya menjadi masalah adalah ukuran RAM: rupanya 1024 (atau ukuran apa pun) berbeda dari 1024MB. Pastikan Anda menentukan unit dan itu harus bekerja untuk Anda.

Paul
sumber
1

Mengubah ramSize di file config.ini tidak berhasil untuk saya.

Saya mengubah ukuran Kartu SD menjadi 1000 MiB di jendela Edit Android Virtual Device ... Ini berhasil! :)

Namrata
sumber
Apakah Anda yakin jawaban Anda terkait dengan masalah? Karena masalah tampaknya berkaitan dengan RAM, yang tidak akan berubah jika ada yang mengubah ukuran kartu SD.
stacker kelas
0

Pergi untuk mengedit Perangkat Virtual Android dan ubah 1024 Di Bawah Opsi Memori ke 768. Jika masih tidak berhasil, terus semakin rendah dan semakin rendah.

FranzPhillips
sumber
0

Mengurangi ukuran RAM dalam pengaturan AVD bekerja untuk saya. AVD yang lambat bisa memakan banyak RAM, jadi menjaganya agar tetap minimum layak dilakukan.

Sylar
sumber
0

Untuk Kulit, hapus Tanpa Kulit dan tambahkan beberapa kulit ke dalamnya

masukkan deskripsi gambar di sini

Jimit Patel
sumber
0

Coba ini jika jawaban lain tidak berhasil untuk Anda.

Bagi saya ini terjadi untuk Emulator API 27.

API 26 Emulator bekerja dengan baik. Jadi saya mulai API 26 Emulator pertama dan kemudian menutupnya.

Lalu saya mulai API 27 Emulator dan Ini bekerja dengan Tidak ada kesalahan sama sekali.

Akshar Patel
sumber