¿Cómo funciona onLowMemory en android?

Me gustaría saber cómo se onLowMemory() función onLowMemory()

Por ejemplo.

Digamos que tengo 3 actividades cada una con sus funciones onLowMemory() reemplazadas para limpiar datos de RAM. También tengo 1 clase de Application que también anula onLowMemory() para limpiar algunos datos de estado global.

Ahora vamos a decir que vamos de la actividad A -> actividad B -> actividad C, y en la actividad C nos quedamos sin memoria. Mi pregunta es qué sucede después de eso?

Por lo que entiendo, la función onLowMemory() de la Actividad C y la clase Application serán llamadas, ¿estoy correcto? ¿Se onLowMemory() función onLowMemory() de la actividad A y B?

También creo que la Actividad A y B serán asesinadas (ya que son actividades de fondo), pero antes de que esas actividades sean asesinadas, ¿se llama a su respectiva onLowMemory() ?

Cuando la memoria del teléfono es baja, los procesos de fondo serán destruidos por framework. Si se cancela el último proceso de fondo, el framework llamará a onLowMemory de cada aplicación.

Esto se describe en los códigos fuente. Consulte: https://github.com/android/platform_frameworks_base/blob/master/services/java/com/android/server/am/ActivityManagerService.java#L3088

  // If there are no longer any background processes running, // and the app that died was not running instrumentation, // then tell everyone we are now low on memory. 

De acuerdo con la documentación http://developer.android.com/reference/android/app/Application.html#onLowMemory%28%29

El punto exacto en el que se llamará no se define, generalmente sucederá alrededor del tiempo que todos los procesos de fondo han sido asesinados, es decir, antes de llegar al punto de matar los procesos de alojamiento de servicios y de primer plano de la interfaz de usuario que nos gustaría evitar matar.

Google habla acerca de esta función en uno de sus videos:

http://www.youtube.com/watch?v=gbQb1PVjfqM&feature=player_embedded#t=682s

Sin embargo, creo que todavía no está claro cuándo se está llamando a un método así, y si puede ayudar a evitar que nuestra aplicación sea asesinada como resultado de tener un montón de procesos y que el nuestro toma mucha memoria.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.