2012-05-07 6 views
5

Creo mapas de bits de grandes imágenes y se produce un error de OutOfMemory en ese momento. Se debe llamar al método Activity.onLowMemory() pero en realidad no lo llama el framework.El método public void onLowMemory() no es invocado por android framework cuando el sistema se ejecuta OutOfMenory

¿Hay alguna solución a esto, o hay alguna otra forma de capturar el error de OutOfMemory en android?

+0

'onLowMemory' se llama cuando el * todo el sistema * se está ejecutando - su propia aplicación masticando a través de su memoria disponible no es co nsidered una razón para que el resto del sistema comience a apretar su cinturón. – Jens

Respuesta

8

Así funciona OnLowMemory. Se ejecutará cuando todo el sistema tenga poca memoria, no su aplicación, por lo que no podrá evitar los OOM con ella. Más detalles here.
Véase también una entrada de blog de Romain Guy por algo más de información acerca de las pérdidas de memoria: links

Al menos hay cientos de preguntas de cómo manejar mapas de bits hier en Stackoverflow:

Android Bitmap Memory Leak, what to do more
Bitmap, Bitmap.recycle(), WeakReferences, and Garbage Collection
Android custom view Bitmap memory leak

+0

¡Excelente! realmente ayudó! ¡Salvaste mi día! –

Cuestiones relacionadas