entendiendo onTrimMemory (nivel int)

Recientemente leí este artículo enAdministrar la memoria de su aplicación, Te recomiendo leerlo si eres un AndroidDev y nunca lo hiciste.

Hay muchas buenas prácticas y una cosa que nunca he sabido es laonTrimMemory (nivel int) Método llamado por el sistema en cada Actividad / Fragmento para notificar eventos en los cuales la memoria debería o podría liberarse.

Aquí hay una cita de ese artículo:

Tenga en cuenta que su aplicación recibe la devolución de llamada onTrimMemory () con TRIM_MEMORY_UI_HIDDEN solo cuando todos los componentes de la interfaz de usuario del proceso de su aplicación quedan ocultos para el usuario. Esto es distinto de la devolución de llamada onStop (), que se llama cuando una instancia de Actividad se oculta, lo que ocurre incluso cuando el usuario pasa a otra actividad en su aplicación. Entonces, aunque debería implementar onStop () para liberar recursos de actividad como una conexión de red o para anular el registro de receptores de difusión,por lo general, no debe liberar sus recursos de UI hasta que reciba en TrimMemory (TRIM_MEMORY_UI_HIDDEN). Esto garantiza que si el usuario navega hacia atrás desde otra actividad en su aplicación, sus recursos de UI aún estarán disponibles para reanudar la actividad rápidamente.

Estoy realmente interesado en implementar una buena gestión de memoria en mi aplicación, así que estoy ansioso por implementar elenTrimMemory () En el camino correcto.

Sólo tengo algunas preguntas al respecto:

esonTrimMemory (TRIM_MEMORY_UI_HIDDEN) Llamado justo después del onStop ()?

¿Qué significa "liberar sus recursos de UI" en ese contexto? por ejemplo, ¿limpia el caché de mapa de bits o elimina y destruye cada vista en el árbol de vistas? Normalmente destruyo las Vistas en elonDestroy () oonDestroyView () Métodos, ahora me pregunto si lo estoy haciendo bien.

¿Hay una devolución de llamada de gemelo / corresponsal aonTrimMemory (TRIM_MEMORY_UI_HIDDEN)? me gustaonCreate-onDestroy, onStart-onStop, onCreateView-onDestroyView. Le pido que comprenda dónde y cómo debo restaurar el estado de la interfaz de usuario después de una Actividad / Fragmento que se puso en primer plano después deonTrimMemory (TRIM_MEMORY_UI_HIDDEN) ha sido llamado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta