2012-08-28 16 views
5

Samsung Galaxy S3 używa 32mb heapsize prawie natychmiast na mojej aplikacji, gdzie na prawie każdym innym urządzeniu z systemem Android zaczyna się od + - 5mb (widział to w logcat, może wysyłać zrzuty ekranu z dwóch różnych urządzeń Jeśli to konieczne). Sądzę, że to jest powód, dla którego moja aplikacja uległa awarii z Wyjątkiem "OutOfMemory" tylko na Galaxy s3, działa idealnie na galaktyce Y Duos i Pocket."OutOfMemory" Wyjątek tylko na Samsung Galaxy S3

Każda pomoc/porada dotycząca tego, dlaczego tak się dzieje, zostanie bardzo doceniona dzięki.

+1

na temat wyjątku OOM? czy używasz Bitmaps, Buggy API, jasne, aby ci pomóc. –

+1

Jest on generowany podczas dekodowania fabryki bitmap. Jednak staram się dowiedzieć, dlaczego tak się dzieje tylko w Galaxy S3. Działa idealnie na każdym innym telefonie z Androidem, którego mam. Prawdziwe pytanie brzmi: "Czy jest jakiś błąd w galaktyce, który używa o wiele więcej sterty niż inne telefony z Androidem?" – SpetsnaZ

+0

Czy telefony, które testujesz, działają na tej samej wersji systemu operacyjnego Android? – harism

Odpowiedz

1

Jak powiedział mario, problemem jest to, że rozdzielczość s3 jest wyższa niż w innych modelach, więc obrazy mają większe wymiary, a tym samym również zużycie pamięci.

Chociaż warto powiedzieć, że S3 wydaje się mieć niewielki maksymalny rozmiar sterty, co wpływa na jego rozdzielczość, ponieważ miałem też problemy z pamięcią z nim, ale nie z innymi urządzeniami o tej samej rozdzielczości, której limit sterty jest wyższy .

0

OOM w większości przypadków nie jest z wczytywania bitmap lub tak, ale przede wszystkim jego podstawa na GPU Przeczytaj ten link a ten too tylko look at this solution for various situation caused by OOM

Tu, w moim przypadku mam zastąpić kanału alfa obrazu, który stara się załadunkiem od można użyć drawable-nodpi

W mojej aplikacji, miał drawable-hdpi mają wszystkie obrazy do aplikacji. Na większości urządzeń nie ma problemu. Na S3 aplikacja zajmowałaby 2x ilość pamięci, a następnie problem z pamięcią.

Właśnie stworzyłem folder drawable-xhdpi z tą samą zawartością co folder drawable-hdpi i uruchom go na S3. Natychmiast zauważyliśmy, że ślad pamięci wynosił 1/2 i nie ma problemów z pamięcią.