Saltar al contenido

Android: java.lang.OutOfMemoryError: no se pudo asignar una asignación de bytes 23970828 con 2097152 bytes libres y 2 MB hasta OOM

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 🙂

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada.