Trình giả lập Android không thể phân bổ bộ nhớ 8


157

Khi tôi cố chạy trình giả lập WXGA800 của mình từ Eclipse, nó sẽ báo lỗi như thế này

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.

Tôi cũng đã kiểm tra các liên kết sau

Không thể phân bổ bộ nhớ: 8

Android: không thể phân bổ bộ nhớ

Tôi đã thử giảm kích thước RAM trong trình giả lập và tăng Java heapsize và ramsize nhưng tôi vẫn gặp phải lỗi tương tự.


thử đặt độ phân giải bằng tay thay vì sử dụng giao diện tích hợp.
SteveR

Vui lòng kiểm tra câu trả lời của tôi ở đây: stackoverflow.com/a/14420779/1993898
Prymaldark


Mát mẻ. Tôi đã nói câu hỏi tương tự ít hùng hồn hơn và có người bỏ phiếu. Tôi hy vọng có một câu trả lời tuyệt vời ở đây ở đâu đó. Tôi đang cố gắng mô phỏng Samsung Galaxys với sự hỗ trợ của S-Pen và tất cả chúng đều vượt quá khả năng của trình giả lập.
Sinthia V

Câu trả lời:


410

Cập nhật : Bắt đầu với Android SDK Manager phiên bản 21, giải pháp là chỉnh sửa C:\Users\<user>\.android\avd\<avd-profile-name>.avd\config.inivà thay đổi giá trị

hw.ramSize=1024 

đến

hw.ramSize=1024MB

API Android 4.2

Trình giả lập rất chậm, hy vọng họ sẽ sớm phát hành hình ảnh intelsử dụng hình ảnh Intel x86 API17 mới nếu bạn muốn thay đổi nó .. ( HAXM , Cấu hình )


Trình quản lý SDK Android trước đó phát hành:

Có vấn đề tương tự với da WXGA800 tích hợp. Tôi đã làm cho nó hoạt động bằng cách chỉnh sửa thiết lập thiết bị ảo thành:

  • API mục tiêu 4.0.3 15 / 4.1.0 API 16
  • Thẻ SD 300MiB
  • Độ phân giải 1280 x 800 (được đặt thủ công - không phải là tích hợp sẵn)
  • Kích thước ram thiết bị 1024MB (có thêm MB vào số)
  • Tóm tắt LCD 160

Đây là cấu hình máy tính bảng của tôi cho API 4.1.0 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\

Cấu hình này cũng hiển thị các phím phần mềm Ảnh chụp màn hình Trình giả lập Android 4.1 1280x800 @ 160


1
Tôi cảm thấy hơi ngu ngốc vì đã không thử điều đó trước đây :)! Cảm ơn người đàn ông bạn đã cứu mạng tôi!
caiocpricci2

2
+1 Tôi đã lấy lời khuyên này và sau đó bắt đầu trình giả lập từ dòng lệnh để làm cho nó hoạt động. Hy vọng Xavier sẽ sớm cứu chúng ta khỏi sự bong tróc này ....
OceanLife

9
Tôi đã khắc phục lỗi bằng cách giảm "Tùy chọn bộ nhớ: RAM" xuống 512 và đặt Kích thước thẻ SD xuống 300MiB.
Ai đó ở đâu đó

3
Nghiêm túc mà nói, một con bọ ngu ngốc ... / facepalm Ít nhất tôi có thể tiến bộ ngay bây giờ! Cảm ơn bạn!
mrswadge

2
ồ Điều này thật tồi tệ. SDK và bộ kiểm tra chính thức không xử lý đúng cách này? bạn đã phải chỉnh sửa các tệp .ini bằng tay và đó là trường hợp trong gần một năm? đó là điên rồ
matt lohkamp

67

Giải pháp sau đây làm việc cho tôi. Trong tệp cấu hình sau:

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

Thay thế

hw.ramSize=1024

bởi

hw.ramSize=1024MB

1
Không chắc chắn tại sao nhưng điều này đã sửa nó. Cảm ơn
schar

1
Điểm tốt, đây phải là một lỗi ... Tôi đã tuân theo quy ước về tệp và chỉ sử dụng một M, cũng hoạt động.
HGPB

17
Thật là thảm hại về phần của Google, thật đấy. Họ không kiểm tra?
Cory Trese

+1 Điều này làm việc với tôi. Có thể đó là vì khi tôi chỉ định kích thước ram tôi chọn 1 GB.
Tiếng Anh.

4
Trong câu trả lời khác, ai đó đã tuyên bố rằng "MB" không thực sự được nhận ra và thay đổi từ 1024 thành 1024 MB thực sự làm giảm bộ nhớ xuống 256 MB, mặc định và do đó nó bắt đầu hoạt động. Nguồn: stackoverflow.com/questions/7222906/fails-to-allocate-memory-8
Juha Palomäki

9

Trong trường hợp của tôi, giải pháp là để thay đổi không chỉ config.inimà còn hardware.inicho da cụ thể từ hw.ramSize=1024đến hw.ramSize=1024MB.

Để tìm hardware.initập tin:

  1. Mở config.inivà xác định vị trí skin.path.
  2. Sau đó điều hướng đến thư mục nơi đặt sdk android.
  3. Mở đường dẫn, như thế này : android-sdk\platforms\android-15\skins\WXGA720.
  4. Trong thư mục này, bạn sẽ xác định vị trí hardware.ini.
  5. Thay đổi hw.ramSize=1024thành hw.ramSize=1024MB.

2
đã làm cho tôi. Tôi không biết tại sao mọi người không thích câu trả lời của bạn. Cảm ơn!
Veaceslav Gaidarji

5

Cập nhật: Bắt đầu với Android SDK Manager phiên bản 21, giải pháp là chỉnh sửa C: \ Users \ .android \ avd \ .avd \ config.ini và thay đổi giá trị

hw.ramSize = 1024 đến

hw.ramSize = 1024 MB

HOẶC LÀ

hw.ramSize = 512MB


3

Lỗi này sẽ kích hoạt nếu bạn đặt RAM AVD thành bất cứ thứ gì lớn hơn thì khối bộ nhớ liên tục lớn nhất mà trình giả lập có thể phân bổ. Đóng bất cứ thứ gì RAM nặng, khởi động trình giả lập của bạn, bắt đầu mọi thứ khác bạn cần. Trong một câu trả lời trước tôi đã giới hạn điều này ở hình ảnh x86 với IntelHAXM, nhưng đây thực sự là trường hợp cho tất cả các loại trường hợp giả lập.


3

Trong cài đặt AVD: Thay đổi tùy chọn CPU / ABI thành MIPS. Nó làm việc cho tôi


1

Tôi gặp vấn đề tương tự và vấn đề cuối cùng là kích thước RAM: rõ ràng 1024 (hoặc bất kỳ kích thước nào) khác với 1024MB. Hãy chắc chắn rằng bạn chỉ định các đơn vị và nó sẽ làm việc cho bạn.


1

Thay đổi ramSize trong tệp config.ini không hoạt động đối với tôi.

Tôi đã thay đổi kích thước Thẻ SD thành 1000 MiB trong cửa sổ Chỉnh sửa thiết bị ảo Android ... Nó đã hoạt động! :)


Bạn có chắc chắn câu trả lời của bạn liên quan đến vấn đề? Bởi vì vấn đề dường như liên quan đến RAM, điều này sẽ không thay đổi nếu một người thay đổi kích thước thẻ SD.
lớp xếp chồng

0

Chuyển đến chỉnh sửa Thiết bị ảo Android và thay đổi Tùy chọn bộ nhớ 1024 thành 768. Nếu thiết bị vẫn không hoạt động, hãy tiếp tục xuống thấp hơn.


0

Giảm kích thước RAM trong cài đặt AVD làm việc cho tôi. AVD bị chậm có thể ngốn rất nhiều RAM, do đó, giữ nó ở mức tối thiểu là khả thi.


0

Đối với da loại bỏ Không có da và thêm một số da vào đó

nhập mô tả hình ảnh ở đây


0

Hãy thử điều này nếu câu trả lời khác không làm việc cho bạn.

Đối với tôi Điều này đã xảy ra với Trình giả lập API 27.

Trình giả lập API 26 hoạt động tốt. Vì vậy, tôi đã bắt đầu Trình giả lập API 26 trước và sau đó đóng nó.

Sau đó, tôi bắt đầu Trình giả lập API 27 và Nó hoạt động mà không có lỗi nào cả.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.