Pytanie w sprawie out-of-memory, java, android – Błąd braku pamięci przy ładowaniu obrazu

2

Chcę załadować obraz na Androida

<code>background = BitmapFactory.decodeResource(getResources(),R.drawable.hangmanbegin);    
background =  Bitmap.createScaledBitmap(background,screenx,screeny,false);
</code>

Obraz ma 800 * 1280 pikseli, więc jeśli mam rację, powinien użyć około 3 MB przestrzeni pamięci? Ale moja kupa rośnie z 15 MB do 29 MB tylko w tej fazie, więc nie ma wycieku okna lub kontekstu?

Jak to wyjaśniono? pl co możesz z tym zrobić?

Z wyprzedzeniem!

Twoja odpowiedź

1   odpowiedź
3

szczególnie w przypadku bogatych obrazów, takich jak fotografie. Na przykład aparat Galaxy Nexus robi zdjęcia do 2592x1936 pikseli (5 megapikseli). Jeśli używana konfiguracja bitmapy to ARGB_8888 (domyślnie od wersji Androida 2.3), załadowanie tego obrazu do pamięci zajmuje około 19 MB pamięci (2592 * 1936 * 4 bajtów), co natychmiast wyczerpuje limit na aplikację na niektórych urządzeniach.

zhttp://developer.android.com/training/displaying-bitmaps/index.html

kredyt, a poniżej sposób na rozwiązanie problemuhttps://stackoverflow.com/a/10127787/643500

Powiązane pytania