Aumentar la memoria asignada a la aplicación
Intento mostrar las imágenes tomadas por la cámara y mostrarlas en la aplicación. Cuando tomo imágenes de baja resolución (digamos 100kB de tamaño), no tengo problemas con el cambio a la visualización de mapas de bits, contra cuando los tomo en alta resolución (1.5MB), la aplicación se bloquea con la excepción
Error java.lang.OutOfMemoryError.
Que pasa a ser en mi teléfono inteligente (Samsung Galaxy SII, SIII Galaxy) está en todos los estantes. Por ahora resolví manualmente bajando la calidad y el tamaño de las fotos pero, dada la evolución de las cámaras con resolución creciente, es probable que este problema surja con más frecuencia. ¿No hay una solución permanente para aumentar la memoria asignada a mi aplicación para Android sin intervención manual en el dispositivo y en el código?
- Android: Fuera de error de memoria
- Jit: Redimensionar JitTable de 512 a 1024 y así sucesivamente ... ¿qué es esto?
- Android Eclipse DDMS> Heap> Causa gris de GC
- Float o doble?
- Alto uso de memoria RAM para la aplicación vacía de Android
Las imágenes se almacenan en formato de mapa de bits
//image creation Uri domuri1 ContentValues cv = new ContentValues(); cv.remove("101"); domuri1 = getContentResolver().insert(Media.EXTERNAL_CONTENT _URI, cv); File domthumb1 = new File(domuri1.toString(), fileName1); //increment photo apparate Intent intent = new Intent("android.media.action.IMAGE_CAPTURE"); intent.putExtra(MediaStore.EXTRA_OUTPUT, domuri1); startActivityForResult(intent, 100); //images save ContentResolver cr = getContentResolver(); bitmap1 = MediaStore.Images.Media.getBitmap(cr, domuri1 ); imageView.setImageBitmap(bitmap1);
- Android - comprimir mapa de bits antes de guardarlo en SDCARD en actividad para obtener resultados
- ¿Cómo elegir el tamaño de imagen óptimo para no exceder el presupuesto de VM?
- Cómo despedir AlertDialog.Builder?
- ¿Qué es lo que hace Bitmap # recycle () en Android Honeycomb?
- Problemas de memoria al publicar archivos desde android
- Fuera de la memoria Picasso Lib
- Android fuera de la prevención de la memoria
- Memoria y Actividades :: OutOfMemory
El valor de memoria predeterminado para una aplicación normal es de 16 MB y puedes usar android:largeHeap="true"
(que puede aumentar la memoria hasta 64 MB) en tu archivo más manifiesto dentro de la etiqueta applicattion
. Puede obtener los valores de memoria asignados por ActivityManager.getMemoryClass () y ActivityManager.getLargeMemoryClass () .
Incluso si usted pide para largeHeap
el androide sólo asignará más memoria si en todo su aplicación lo necesita.
- ActionBarDrawerToggle no se puede aplicar a Android.support.v7.widget.Toolbar
- Eliminar línea entre elementos de menú de opciones personalizadas