2011-08-23 9 views
5

jestem coraz OutOfMemory wyjątek podczas uruchamiania mojego projektu zarówno emulatora i urządzeń (tablet Acer i Samsung Galaxy) przedstawiającyOutOfMemory zarówno urządzenia oraz emulatora

proces uruchamiania aplikacji com.android.launcher nieoczekiwanie zatrzymany.

Zwiększyłem rozmiar emulatora maszyny wirtualnej do 256 MB, ale nie było zmian w tym wyjątku. Jak mogę uniknąć tego wyjątku? I jak mogę zwiększyć rozmiar procesu sterty zarówno emulatora, jak i urządzenia?

Zapoznaj to this question

+1

Czy to możliwe, że jest ściśle związany z projektem? co robisz, że wyjdziesz z wyjątku pamięci? jaki jest stacktrace? – codeScriber

+0

Czy przyczyną może być twój projekt? Jeśli tak, być może trzeba będzie ujawnić więcej szczegółów na temat projektu i być może spróbować znaleźć fragment kodu, który mógłby być odpowiedzialny za to zachowanie. Czy próbowałeś sprawdzić, czy większy rozmiar vm może obsłużyć projekt? –

+0

Kiedy uruchamiam moją aplikację ... wychodzę z pamięci i jeśli wymuszam zamknięcie tego, mogę normalnie uruchomić aplikację ... nawet w środku aplikacji również otrzymuję ten błąd. – Taruni

Odpowiedz

5

Nie wiem, jakiego rodzaju aplikacji używasz, ale możliwe, że masz przeciek pamięci w aplikacji. Wtedy nie ma znaczenia jak duży ustawisz rozmiar maszyny wirtualnej.

Zobacz film poniżej, aby dowiedzieć się, jak znaleźć wycieki pamięci we własnej aplikacji. Działa na urządzeniach i emulatorach. (Znalazłem bardzo duży wyciek pamięci w ubiegłym tygodniu, że nie wiedziałem, miałem we wniosku)

http://www.youtube.com/watch?v=_CruQY55HOk&feature=player_embedded

+0

Prezentacja w filmie jest bardzo przydatna - facet robiący to jest w zespole Androida w Google (rozmowa pochodzi z Google IO). Części dotyczące narzędzia do analizy pamięci są naprawdę dobre. –

+0

O ile mi wiadomo, jest to jedyny łatwy sposób na znalezienie wycieków pamięci w aplikacji. Bardzo mi to pomogło. –

0

Chyba że robisz coś skrajnego i rzeczywiście potrzebują dużo pamięci, nie należy muszą uciekać się do zwiększenia śladu pamięci. Błąd, który powoduje to, prawdopodobnie będzie przebiegać nad dodatkową pamięcią, którą mu dajesz.

Przyjrzyj się bliżej temu, co stanie przed błędem braku pamięci. Niedawno zobaczyłem to, ponieważ spowodowałem nieskończoną pętlę zmiany konfiguracji. Jedyną rzeczą, która zatrzymała tę nieskończoną pętlę, było wyczerpanie pamięci.

Podczas gdy kilka linii powyżej błędu wyglądało dobrze, zdałem sobie sprawę, że liczba wpisów w dzienniku była znacznie wyższa niż normalnie, ponieważ wielokrotnie przeprowadzano inicjalizację mojej działalności.

Twój problem może być inny, ale jestem pewien, że zwiększenie rozmiaru sterty nie spowoduje jego usunięcia.

+1

u poprawne zwiększenie rozmiaru sterty nie rozwiązuje tego problemu ... – Taruni

Powiązane problemy