Pergunta sobre android, out-of-memory, java – Erro de falta de memória ao carregar a imagem

2

Eu quero carregar uma imagem no android

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

A imagem é de 800 * 1280 pixels, então se eu estiver correto, deve usar 3MB de espaço de memória? Mas meu heap cresce de 15 MB para 29 MB apenas nessa fase, então não há janela ou contexto vazando?

Como isso é explicado? pt o que você pode fazer sobre isso?

Thnx antecipadamente!

Sua resposta

1   a resposta
3

Os bitmaps ocupam muita memória, especialmente para imagens ricas, como fotografias. Por exemplo, a câmera no Galaxy Nexus tira fotos de até 2592x1936 pixels (5 megapixels). Se a configuração de bitmap usada for ARGB_8888 (o padrão do Android 2.3 em diante), carregar essa imagem na memória leva cerca de 19 MB de memória (2592 * 1936 * 4 bytes), esgotando imediatamente o limite por aplicativo em alguns dispositivos.

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

crédito e abaixo dele uma maneira de abordar uma correçãohttps://stackoverflow.com/a/10127787/643500

Perguntas relacionadas