Error de falta de memoria al cargar la imagen

quiero cargar una imagen en android

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

La imagen es de 800 * 1280 píxeles, por lo que si estoy en lo correcto, ¿debería usar alrededor de 3 MB de espacio de memoria? Pero mi montón crece de 15 MB a 29 MB solo en esa fase, ¿entonces no hay fugas de ventana o contexto?

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

Thnx de antemano!

preguntado el 03 de mayo de 12 a las 19:05

1 Respuestas

Los mapas de bits ocupan 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 desde Android 2.3 en adelante), cargar 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.

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

crédito y debajo de él una forma de acercarse a una solución https://stackoverflow.com/a/10127787/643500

contestado el 23 de mayo de 17 a las 12:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.