el tamaño del bitmap excede el error de presupuesto Vm de Android

Cuando cambio al modo paisaje, se crean pocos objetos con bitmap de pantalla completa.

Cuando desplazo el otro objeto se llama y se muestra su bitmap, cuando hago esto repetidamente, el tamaño del bitmap excede el error de presupuesto vm , he hecho todas las cosas como recycle() , establecer nulo y luego llamado GC() , todavía tengo mismo error. creando bitmap ….

  bitmap = Bitmap.createBitmap(ChartProperties.getChartWidth(), ChartProperties.getChartHeight(), Bitmap.Config.RGB_565); imageCache.put(String.valueOf(LandscapeChartActivity.getActiveFeature()), new SoftReference(bitmap)); if(imageCache != null){ for (int i = 0; i < imageCache.size(); i++) { if (imageCache.get(String.valueOf(i)) != null) { imageCache.get(String.valueOf(i)).get().recycle(); imageCache.put(String.valueOf(i), null); } } Runtime.getRuntime().gc(); imageCache.clear(); imageCache = null; 

También tuve el mismo problema OOME debido a bitmaps.

Cuando la orientación cambia de PORTRAIT a LANDSCAPE y viceversa, la IU anterior se descarta por completo y se carga y muestra una nueva IU. En este caso, si usa muchos mapas de bits en su aplicación, debe liberarlos en los lugares adecuados.

Para verificar la orientación de su dispositivo, vea esto: Compruebe la orientación en el teléfono Android

En su caso, debe borrar mapas de bits durante el cambio de orientación.

En el enlace superior puede encontrar cómo obtener la orientación actual. Por lo tanto, en cada cambio de orientación, llame al código anterior que limpia los mapas de bits.

Ahora, cuando revisamos el logcat, siempre aparece un registro que dice GC_, pero no pude entenderlo, así que encontré un sorprendente documento sobre el problema de la pérdida de memoria: http://codelog.dexetra.com/getting-around- android-memory-blues

El enlace de arriba es muy útil para su problema.

Ahora, el OOME se produce cuando hay una pérdida de memoria en su aplicación. Por lo tanto, para verificarlo, instale el MAT para eclipse. Puede encontrarlo en: http://www.eclipse.org/mat/downloads.php

Es un software un poco complicado pero a medida que avanzas en él, entenderás que es un software bastante útil.

Incluso si esto no resuelve su problema, use WeakReference para mapas de bits.

Por favor, consulte este enlace: ¿Cómo utilizar WeakReference en el desarrollo de Java y Android?

Si obtengo más información, actualizaré esta publicación.

Actualice su publicación, si encuentra una solución a su problema.

Gracias 🙂