studio servidor obtener mostrar manipular imágenes imagenes imagen galeria desde cargar almacenada ajustar agregar android bitmap jpeg image

obtener - mostrar imágenes en listview de android desde servidor



Cargue imágenes grandes en Bitmap? (5)

Intento hacer una aplicación básica que muestre una imagen de la cámara, pero cuando intento cargar el BitmapFactory.decodeFile .jpg desde la tarjeta SD con BitmapFactory.decodeFile , devuelve null.

No da un error de falta de memoria que me parece extraño, pero el mismo código funciona 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?


Intenta configurar inSampleSize como se muestra en este ejemplo .


Bueno, después de trabajar mucho, descubrí que el problema no era con el código, sino que el tamaño de ram del emulador, la edición de avd y el aumento del tamaño del ram resuelve todos los problemas y salva fácilmente las imágenes. 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);