Solución:
Error de memoria insuficiente es el problema más común que ocurre en Android cuando se trata especialmente de mapas de bits. Este error lo arroja la máquina virtual Java (JVM) cuando un objeto no se puede asignar debido a la falta de espacio en la memoria y, además, el recolector de basura no puede liberar espacio.
Como lo mencionó Aleksey, puede agregar las siguientes entidades en su archivo de manifiesto android:hardwareAccelerated="false"
, android:largeHeap="true"
funcionará para algunos entornos.
<application
android:allowBackup="true"
android:hardwareAccelerated="false"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:largeHeap="true"
android:supportsRtl="true"
android:theme="@style/AppTheme">
definitivamente deberías leer algunos de los conceptos de desarrollador de Android, especialmente aquí: Visualización de mapas de bits de manera eficiente
Lea los 5 temas y vuelva a escribir su código. Si aún no funciona, estaremos encantados de ver qué has hecho mal con el material del tutorial.
Aquí algunas de las posibles respuestas para este tipo de errores en SOF
Android: BitmapFactory.decodeStream () sin memoria con un archivo de 400 KB con 2 MB de pila libre
Cómo resolver el problema java.lang.OutOfMemoryError en Android
Android: java.lang.OutOfMemoryError
java.lang.OutOfMemoryError
Solución para OutOfMemoryError: el tamaño del mapa de bits supera el presupuesto de la máquina virtual
Editar: De los comentarios de @cjnash
Para cualquiera que aún haya tenido fallas después de agregar esta línea, intente pegar su imagen en su carpeta res / drawable-xhdpi / en lugar de su res / drawable / y podría resolver su problema.
¿Ha intentado agregar esto a su manifiesto en aplicaciones? android:largeHeap="true"
?
como esto
<application
android:name=".ParaseApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:largeHeap="true" >
Para mí, el problema era que mi archivo .png se descomprimía para convertirlo en un mapa de bits realmente enorme en la memoria, porque la imagen tenía dimensiones muy grandes (aunque el tamaño del archivo era pequeño).
Así que la solución fue simplemente cambiar el tamaño de la imagen 🙂