Pregunta sobre java, out-of-memory, android – Error de memoria insuficiente al cargar la imagen

2

Quiero cargar una imagen en Android

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

La imagen es de 800 * 1280 píxeles, por lo que, si estoy en lo cierto, ¿debería utilizar cerca de 3 MB de espacio de memoria? Pero mi montón crece de 15 MB a 29 MB solo en esa fase, ¿por lo tanto, ninguna ventana o contexto se está filtrando?

¿Cómo se explica esto? ¿Qué puedes hacer al respecto?

Gracias de antemano!

Tu respuesta

1   la respuesta
3

Los mapas de bits consumen mucha memoria, especialmente para imágenes ricas como fotografías. Por ejemplo, la cámara del Galaxy Nexus toma fotos de hasta 2592x1936 píxeles (5 megapíxeles). Si la configuración de mapa de bits utilizada es ARGB_8888 (la predeterminada de Android 2.3 en adelante), la carga de esta imagen en la memoria requiere aproximadamente 19 MB de memoria (2592 * 1936 * 4 bytes), agotando inmediatamente el límite por aplicación en algunos dispositivos.

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

crédito y debajo de ella una manera de acercarse a una soluciónhttps://stackoverflow.com/a/10127787/643500

Preguntas relacionadas