Cargar imágenes grandes en mapa de bits?

Estoy tratando de hacer una aplicación básica que muestra una imagen de la cámara, pero cuando intento cargar el BitmapFactory.decodeFile .jpg desde el sdcard con BitmapFactory.decodeFile , devuelve null.

No da un error de la memoria que encuentro extraño, pero el mismo código exacto trabaja muy bien en imágenes más pequeñas.

¿Cómo muestra la galería genérica imágenes enormes de la cámara con tan poca memoria?

Intente establecer inSampleSize como se muestra en este ejemplo .

Bueno, después de trabajar mucho me enteré de que el problema no era con el código, pero el tamaño de empuje de emulador, la edición avd y el aumento de tamaño de RAM resuelve todos los problemas y salva fotos huges fácilmente. Gracias.

enviar:

  BitmapFactory.Options o = new BitmapFactory.Options(); o.inJustDecodeBounds = true; BitmapFactory.decodeFile(filePath, o); int REQUIRED_SIZE = 640; int width_tmp = o.outWidth, height_tmp = o.outHeight; int scale = 1; while(true) { if (width_tmp < REQUIRED_SIZE && height_tmp < REQUIRED_SIZE) break; width_tmp /= 2; height_tmp /= 2; scale *= 2; } BitmapFactory.Options o2 = new BitmapFactory.Options(); o2.inSampleSize = scale; Bitmap bitmap = BitmapFactory.decodeFile(filePath, o2); ByteArrayOutputStream bs2 = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 90, bs2); getIntent().putExtra("byte_picture", bs2.toByteArray()); 

Recive

 Bitmap photo = BitmapFactory.decodeByteArray(data.getByteArrayExtra("byte_picture"),0,data.getByteArrayExtra("byte_picture").length); 

Esta es otra solución que utiliza inSampleSize y determina dinámicamente la resolución de la imagen para usar basada en la memoria disponible:

http://bricolsoftconsulting.com/handling-large-images-on-android/

  • Cargar dinámicamente imagen en ImageView en Android
  • Arrastrar y soltar imágenes en android
  • Android: redimensionamiento / ampliación de imagen de alta calidad
  • Android Studio cambia la transparencia de los activos de imagen
  • ¿Se puede dibujar con el selector?
  • ¿Cómo elegir el tamaño de imagen óptimo para no exceder el presupuesto de VM?
  • ArrayAdapter texto e imagen
  • La carga / descarga de imágenes de Android con Base64 en JSON provoca errores de memoria insuficiente
  • Obtener la última foto tomada por el usuario
  • Compartir imagen con ShareActionProvider de Picasso
  • Error Unparsed Aapt
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.