2012-01-13 12 views
8

Tak więc, podobnie jak wielu ludzi rozpoczynających programowanie Androida w środowisku Eclipse, nawet przy szybkiej maszynie, zauważam, że emulator działa frustrująco wolno.Dlaczego nie mogę uruchomić AVD z Eclipse z 1024 MB pamięci RAM?

Przeszukuję SO, aby uzyskać wskazówki, dzięki którym będzie on działał szybciej, a ja przebiegłbym przez this question, którego górna odpowiedź sugeruje kilka rzeczy, w tym sprawienie, że AVD ma więcej pamięci RAM. Sugerują 1024MB:

enter image description here

Brzmi dobrze. Ale gdy próbuję go uruchomić, mam to:

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. 

Jeżeli ustawić go do 512 (wzrost z domyślnej 256) uruchamia w porządku.

Ale dlaczego, na komputerze z systemem Windows 7 x64 z 12 GB pamięci RAM nie mogę przydzielić 1024 MB na AVD? Czy jest to ograniczenie Eclipse? Ograniczenie emulatora? Ograniczenie Java? Przypuszczam, że osoba z tego drugiego pytania działała, ale muszę jeszcze dowiedzieć się, jak i większość odpowiedzi, które widzę gdzie indziej, powiedzieć "tak, wybierz to aż do 512 MB", co nie jest odpowiedzią, której szukam.

+0

Czy masz jakieś 32-bitowe środowisko Eclipse/Java? ... co może ograniczyć Cię do 3G całkowitej pamięci RAM dla tego procesu, jak sądzę w systemie Windows? – BRFennPocock

+0

@BRPocock: Tak, używam 32-bitowego Eclipse, ponieważ strona "Install the SDK" mówi, że używa tej wersji (a przynajmniej tak sądzę, nie może teraz znaleźć odniesienia do tej wersji). Czy istnieje sposób na wykorzystanie 64-bitowego Eclipse? –

+0

po prostu zwraca 'Nie udało się przydzielić pamięci: 8' jeśli uruchomisz go z konsoli ... wykonałem kilka testów jak na przykład emulatora z dużą ilością wolnej pamięci (bez innych aplikacji) ... wyniki są wciąż takie same ... Myślę, że odpowiedź brzmi ... przepraszam, musisz z tym żyć :) – Selvin

Odpowiedz

0

Mam ten sam problem sporadycznie i nie jestem w stanie powiedzieć dokładnie, dlaczego występuje ten problem, ale wygląda na to, że AVD nie uruchomi się, jeśli zostało mu przydzielone więcej niż X procent dostępnej pamięci RAM czas rozpoczęcia.

Jeśli obniżysz podaną kwotę o zaledwie 50 MB, często zauważysz, że działa dobrze. Lub, podobnie, jeśli zamkniesz kilka programów, aby zaoszczędzić trochę pamięci RAM, to również uruchomi się idealnie dobrze.

Wiem, że nie jest idealny, ale proponuję po prostu zmniejszyć przydzieloną pamięć RAM w niewielkich ilościach do momentu uruchomienia. Chciałbym dać lepszą odpowiedź, ale sam też nie potrafiłem znaleźć przyczyny.

0

Spróbuj uruchomić AVD bez Eclipse, aby usunąć ten czynnik. Można to zrobić, przechodząc do ścieżki SDK/narzędzi i otworzyć system Android (.bat?), A następnie wybrać menedżera AVD.

Polecam otwierając powłokę poleceń, przechodząc do ścieżki, a następnie uruchomić

emulator -avd AVDNAME -scale 0.7 -no-boot-anim 

Można również spróbować uruchomić go bez parametru skali albo może nawet mniejsza liczba.

8

Od Galaxy s3 emulator:

Przy konfigurowaniu AVD że trzeba ręcznie edytować plik konfiguracyjny, aby naprawić to powszechny problem. Plik znajduje się w C:\Documents and Settings\username\.android\avd\name_of_avd.avd\config.ini

zmienić ustawienia pamięci z

hw.ramSize=1024 

do

hw.ramSize=1024MB 

(Nie włączaj zawijany w notatniku).

Zapisz plik i ponownie otwórz avd. To zadziałało dla mnie.

+1

Uwaga: w usuniętej już odpowiedzi (która powinna była zostać przekształcona w komentarz tutaj, a nie tylko usunięta), użytkownik user2271132 zasugerował, że może to być "1024M" zamiast "1024 MB". Nie potwierdziłem tego, ale chciałem dodać ten pomysł do płyty, w której każdy może to zobaczyć. –

2

Dziwne, ale to działało dla mnie na Windows 7 x64 z 16 GB pamięci RAM.Musisz dodać MB na końcu "hw.ramSize" w pliku config.ini. Miałem ten sam problem, jak OP napisał. Jeśli potrzebujesz 2 gigabajtów pamięci RAM, napisz 2048 MB, a symulator uruchomi się z Eclipse.

0

W Windows emulacji RAM większej niż 768 może zawieść w zależności od obciążenia systemu enter image description here

0
  1. Otwórz C: \ Users \ swoją user.android \ AVD \ yourAVD.avd \ config.ini
  2. zmiana

    hw.ramSize = 1024

do

hw.ramSize=1024M 

to zadziałało dla mnie :-) mam nadzieję, że to pomoże!

Powiązane problemy