메모리를 할당하지 못했습니다 : 8


369

오늘부터 2.3.3 Android 플랫폼의 NetBeans에서 앱을 실행하려고하면 다음과 같이 표시됩니다.

메모리를 할당하지 못했습니다 : 8

이 응용 프로그램은 런타임을 비정상적인 방식으로 종료하도록 요청했습니다. 자세한 내용은 응용 프로그램 지원 팀에 문의하십시오.

에뮬레이터는 시작하고 싶지 않습니다.

이것은 내가 처음 볼 때이며, 구글에는 이것에 대한 답이 없습니다 .NetBeans 6.9.1 및 7.0.1의 두 가지 버전으로도 동일한 오류가 발생했습니다.


3
왜 NetBeans와 Eclipse를 사용하는지 궁금합니다. 나는 다른 것들 (즉, PHP)에 NetBeans를 사용하지만 안드로이드 물건에 일식을 사용하는 것이 더 쉽다는 것을 알았습니다. 이클립스에 비해 어떤 이점이 있습니까?
SBerg413

3
나는 이전에 이클립스를 사용한 적이 없지만 왜 GUI를 싫어하는지 이유를 모르겠다 .GUI 대 NetBeans에서는 복잡하지만, 다운로드하는 순간, 문제가 사라지면 시도해 볼 것이다. 그 안에 안드로이드 물건.
Denees

47
와우, 그 의견은 쉼표 학살이었다. 어쨌든, AVD가 적절한 양의 RAM을 사용하고 있는지 확인하십시오 (즉, 컴퓨터가 처리 할 수는 있지만 충분히 처리 할 수는 없습니다). 가상 장치를 만들 때 설정됩니다.
Glendon Trullinger

2
참고로, 16GB 램을 가진 Core i7을 가지고 있으며 AVD에서 램을 maxxed하고 모두 불행히도 게으르다 : /
Jack

1
인텔 코어 i7 프로세서에서 실행되는 Windows 8 64 비트 시스템이 있습니다. 이 AVD (Nexus 7)의 램 설정을 512mb로 변경하여 실행했습니다.
IgorGanapolsky

답변:


373

나는 그것을 알아. 문제는 가상 머신에 대해 지정한 램의 양에 있었고 1024MB였습니다. 이제 512MB가 있고 괜찮습니다.이 램의 양을 개선하는 방법을 찾아야합니다 .512는 그렇게 크지 않습니다. 기계가 약간 게으르다.


20
나는 이것과 같은 문제가 있습니다. 내 컴퓨터에 8GB의 RAM이 있는데, 6GB는 무료이며 Android 에뮬레이터에서 1GB를 할당 할 수 없다고 알려줍니다.
Strozykowski

5
나는 8GB의 램을 가지고 있지만 SDK는 512 이상을 사용할 수 없다고 말합니다 :)
Denees

5
추가 할 수정 사항이 하나 더 있습니다. 때로는 RAM을 더 낮은 값으로 설정해도 작동하지 않습니다. 이 경우 다음과 같은 명령 줄에서 에뮬레이터를 시작해보십시오.emulator-x86 -avd <your_avd_name>
Mykhailo Gaidai

14
방금 해결책을 찾았습니다. AVD 해상도를 강제로 지정해야합니다. 800 x
1280.

4
이 문제는 hw.ramSizeconfig.ini ( Device Ram SizeGUI의 하드웨어 목록에 있음) 에 1024 값을 추가하는 모든 디스플레이 스킨에서 발생합니다 . 값이 더 낮은 "스킨"을 선택하거나 수동 해상도를 사용하고 하드웨어 목록에서이 행을 제거하십시오. 스킨을 선택할 때 제거 할 수 없습니다.
RedGlyph

61

안드로이드를 참조하십시오 : 메모리 할당에 실패하고 허용 된 답변 아래 첫 번째 주석을 "1024"에서 "1024MB"로 변경하면 도움이되었습니다. 한심한,하지만 작동합니다.


29
'MB'는 에뮬레이터에서 인식되지 않으므로 기본 256MB 값을 사용해야합니다. 지정한 금액이 얻을 수있는 금액이 아님을 명심하십시오!
RedGlyph

1
Runnning에서 Apps를 보면 총 메모리 양이 약 240MB로 표시되므로 256MB로 되돌아갑니다.
jishi

Run Configurations 창에이 링크의 매개 변수 -memory 512를 추가하여 수정했습니다.
GatesReign

43

나의 경우에는:

  • 내장 WXGA720을 사용하여 720p 장치를 시뮬레이션하면 항상이 오류가 발생합니다
  • AVD 해상도 를 720 x 1280으로 수동 설정 , 나에게 적합

도움이 되길 바랍니다 ~


마찬가지로, 7 "WXGA800의 기본값이 실패하고 800 x 1280 설정이 작동합니다.
xandy

30

대신 512MB로 작동합니다. 위의 방법 중 어느 것도 나를 위해 작동하지 않습니다.


RAM 크기를 1024에서 768 Mib로 줄인 후 "메모리 할당 실패 : 8"오류가 사라졌습니다.
curd0

그들 중 많은 사람들이 512MB 크기를 고치기 위해 같은 것을 말하고 있지만 전혀 작동하지 않았습니다.
Steve

30

여기와 다른 곳에서 읽는 다른 모든 것은 순수한 추측입니다. 이 문제를 해결하는 유일한 방법은이 버그 보고서에 투표하는 것입니다 .

이 문제는 에뮬레이터 해상도 나 OpenGL, 컴퓨터의 메모리 용량과 관련이 없습니다. 컴퓨터에 24GB 메모리가 있고 대부분의 시간에 hw.ramSize=1024오류 8이 발생합니다. 다른 경우에는 구성을 변경하지 않아도 제대로 작동합니다. 나는 당신이 그것을 잡기를 바랍니다 : 나는 에뮬레이터 구성을 전혀 변경하지 않았지만 때로는 실행되고 때로는 실패합니다.

메모리 조각화와 관련이있을 가능성이 높습니다. hw.ramSize임시 해결 방법으로 가치를 줄이는 것이 좋습니다 .


2
모든면에서 당신의 대답은 순수한 추측입니다. 나를 위해, 가상 RAM이 2048로 설정된 에뮬레이트 된 장치를 실행하는 데 아무런 문제가 없습니다 (더 이상 시도하지 않았습니다). 그러나 이러한 장치는 원격 데스크톱을 통해 컴퓨터에 액세스 할 때만 실행됩니다 . 따라서 저에게는 분명히 그래픽 문제이며 메모리 조각화 문제가 아닙니다. 로컬과 원격 사이에서 세션을 앞뒤로 점프하여 확실하게 증명할 수 있습니다. 하나의 시나리오에서 동일한 세션, AVD 관리자의 동일한 인스턴스, 끔찍한 NVIDIA 카드 및 엄청난 드라이버가 없습니다. (그러나 그것은 다른 스레드에 대한 열망입니다).
s.co.tt

만약 그것이 "RAM 조각화"라면 우리는 아마도 어리석은 무료 "RAM 조각 모음"프로그램 중 하나를 사용하여 테스트 할 수있을 것입니다.
사용자

17

이것에 대해 수천 가지 수정 사항이있는 것 같습니다 ... 위의 어느 것도 나를 위해 일하지 않았지만 명령 줄 emulator-arm.exe @ AVD-NAME 에서 AVD를 시작하는 것이 효과적이었습니다.

어떻게 든 emulator.exe로 시작하면 Eclipse를 통해 시작할 때와 동일한 오류 메시지가 표시됩니다.


나와 같은 문제가있을 수 있습니다. 한 곳에서 에뮬레이터를 시작하면 다른 곳에서 시작하지 않고 DLL 파일이로드됩니다.
mjaggard

14

이 문제에 대한 해결책은 응용 프로그램을 일반 모드로 실행할 때 Eclipse 메모리 할당에서 비롯된 것임을 깨달았습니다. 방금 Eclipse의 바로 가기 속성 아래에서 "관리자 권한으로 실행"확인란을 선택했으며 이제 AVD에 더 많은 메모리를 할당 할 수 있습니다.

희망이 도움이됩니다.


13

장치 화면 크기를 변경하여이 문제를 극복했습니다.

1024 mb 램을 지정하는 경우 hdpi로만 장치 화면 크기를 지정해야하며 512 mb 램이면 mdpi 또는 기타이어야합니다.

따라서 화면 크기에 따라 램 크기를 지정해야합니다. 장치 화면 크기를 mdpi로 유지하면서 1024 램 크기를 지정하면 위에서 언급 한 오류가 발생합니다.

자세한 내용은 응용 프로그램 지원 팀에 문의하십시오. "

또는

다음과 같이 AVD 관리자에서 옵션을 만드십시오.

[2013-01-11 14:44:01-SDK 관리자] hw.sensors.orientation = yes

[2013-01-11 14:44:01-SDK 관리자] hw.camera.front = none

[2013-01-11 14:44:01-SDK 관리자] hw.gps = yes

[2013-01-11 14:44:01-SDK 관리자] skin.dynamic = no

[2013-01-11 14:44:01-SDK 관리자] hw.keyboard = no

[2013-01-11 14:44:01-SDK 관리자] vm.heapSize = 32

[2013-01-11 14:44:01-SDK 관리자] hw.ramSize = 343


[2015-07-23 12:54:59-SDK 관리자] disk.dataPartition.size = 500M [2015-07-23 12:54:59-SDK 관리자] hw.gpu.enabled = yes [2015- 07-23 12:54:59-SDK 관리자] hw.audioInput = yes [2015-07-23 12:54:59-SDK 관리자] hw.sensors.orientation = yes [2015-07-23 12:54:59 -SDK 관리자] hw.camera.front = 없음 [2015-07-23 12:54:59-SDK 관리자] hw.gps = yes [2015-07-23 12:54:59-SDK 관리자] skin.dynamic = 아니요 [2015-07-23 12:54:59-SDK 관리자] hw.keyboard = yes [2015-07-23 12:54:59-SDK 관리자] vm.heapSize = 32 [2015-07-23 12:54 : 59-SDK 관리자] hw.ramSize = 512
user914425

6

나는이 스레드에서 언급 된 다른 모든 솔루션을 살펴 보았고 작동하는 것을 찾지 못했기 때문에 조금 마셨다. 어떤 이유로 Google 버전의 API가 실패했습니다. 나는 그것을 바닐라로 다시 바꾸었고 더 이상 충돌하지 않습니다.

다른 문제가 있어야하지만 누군가에게 도움이 될 것입니다 ...


이상한. 나는 바닐라 버전으로 설정되었지만 Google API로 전환하면 해결되었습니다. 어쨌든 아이디어 +1!
Paul

6

공식 문제 33930을 살펴보십시오 . 에뮬레이터를 시작하는 동안 OpenGL을 시작하는 것과 관련이있을 수 있다고 지적합니다. 다른 사람들은 WXGA800 스킨을 사용할 때만 충돌을 일으켜 해상도를 800x1280으로 수동 설정하도록 제안합니다.

또한 안드로이드 SDK를 버전 19로 수동으로 다운 그레이드하고 plattform-tools를 버전 11로 다운 그레이드하기 위해 ZIP 파일이 제공됩니다. 이는 일시적으로 문제를 해결하는 데 도움이 될 수 있습니다.


이것은 내 문제와 관련이있을 수 있습니다. 한 곳에서 에뮬레이터를 시작하면 다른 곳에서 시작하지 않고 DLL 파일이로드됩니다.
mjaggard

그것에 더 있어야합니다. 먼저 WXGA800으로 설정 한 다음 수동 해상도 1280x800으로 변경하면 여전히 AVD와 충돌합니다. hw.ramSize=1024문제 해결 만 제거하면 문제가 해결됩니다 (WXGA를 선택한 경우에는 수동 해상도 설정을 사용해야합니다).
RedGlyph

5

내 컴퓨터에는 16GB와 3.4Ghz 쿼드 코어 프로세서가 있습니다. 가상 머신은 1024에서 실행할 수 없습니다. 같은 메시지로 880에서 실패했기 때문에 최대 878MB까지 충돌했습니다. 이것은 에뮬레이터에 할당 할 수있는 가장 큰 램 인 것 같습니다. 여전히 느리지 만 512MB보다 낫다고 가정합니다.


5

AVD의 시작 옵션에서 모니터 DPI 설정을 변경하고 모니터의 원래 및 현재 설정과 동기화하여 작동했습니다.



3

나는 같은 문제가 있었지만 문제가 발생하기 전에 비디오 소스를 캡처하도록 요청했습니다.

카메라 지원을 비활성화하고 사용할 수있었습니다 1024MB of RAM.

Windows 사용 64bit, Xoom (Android 3.0).


3

필자의 경우 WVGA720에서 WSVGA 로의 changin 화면 해상도가 적합합니다.


3

문제는 메모리 조각화에 있습니다. OS는 vm에 대해 지정한 모든 램 (예 : 1Gb)을 하나의 연속 블록으로 할당해야합니다. 때로는 그러한 블록이 없습니다. 실행중인 프로그램을 닫으려면 avd를 실행하고 가상 머신을 시작하십시오.


2

Windows에서 나를 위해 일한 것은 다음과 같습니다.

1) Eclipse 닫기 2) Avd UI 실행 3) 실행중인 모든 프로세스, 특히 Chrome, explorer.exe 등 메모리가 많은 프로세스 닫기 4) 에뮬레이터 시작 5) 승리


2

IntelHAXM이 올바르게 설치되어 있는지 확인하십시오. SDK 관리자를 통해 다운로드하여 "설치"하는 것만으로는 충분하지 않습니다. 다음에서 수동으로 설치해야합니다.

android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager

또한 BIOS에서 Intel Virtual Technology가 활성화되어 있는지 확인하십시오.

developer.android.com 의 안내서 또는 인텔 설치 지침을 따르십시오 .



1

나는 그것이 내가 잘 작동 한 나머지 하나의 DVD와 관련이 있음을 알았습니다. 나는 그것을 삭제하고 새로운 것을 만들었고 지금은 작동합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.