2011-05-05 11 views
9

No puedo encontrar el ciclo de vida del objeto Aplicación (extender aplicación). Por ejemplo, qué sucede si tengo un receptor de transmisión que se llama a través de la alarma. ¿Se llamarán los métodos de la aplicación? ¿O todo es independiente de la aplicación? Si tengo un asistente de datos instanciado en la aplicación y lo llamo desde el receptor de difusión, ¿estará disponible? ¿Cuál es el ciclo de vida del objeto Aplicación, cuando se destruye? ¿Cuándo se llama cuando se usan alarmas? ¿Qué sucede cuando la actividad no está en primer plano con el objeto Aplicación? Gracias de antemano. Guillermo.Ciclo de vida del objeto de la aplicación Android

Respuesta

13

Mírelo de esta manera: antes que nada, está Application. Se crea antes de su BroadcastReceiver, antes de sus instancias Activity, antes de sus instancias Service, etc. No importa si hay algo en primer plano. La aplicación finalizará cuando todas sus instancias Activity hayan desaparecido, cuando se haya salido de su BroadcastReceiver y una vez que finalicen sus instancias Service. No hay garantía de que se mate, pero es lo último que queda cuando el SO decidió que tu aplicación debe morir.

+0

¿Qué pasa si la aplicación está apagada, entonces la alarma se dispara regularmente, hace algo y luego termina. Cada vez que se apaga la alarma, se crea el objeto Aplicación y luego, cuando se finaliza la manipulación, se destruye el objeto Aplicación, ¿verdad? Entonces, si tengo una alarma que se dispara constantemente a 5 segundos de duración entre una y otra, ¿el objeto Aplicación y todo lo que contiene se creará y destruirá cada 5 segundos? – polonskyg

+0

La 'Aplicación' no necesariamente finaliza inmediatamente. Entonces, no, podría "sobrevivir" múltiples invocaciones. Pero podría no :). Sin garantías –

+0

Si el objeto Aplicación se crea para cada activación de alarma, ¿hay alguna manera de determinar si la Aplicación se está creando de esta manera, y no como resultado de un inicio de aplicación regular? En mi caso, mi objeto Application se crea cada vez que recibimos un mensaje push para que se procese BroadcastReceiver, sin embargo, en Application.onCreate() realizamos una costosa lógica que solo quiero realizar cuando la aplicación se está creando con el fin de un lanzamiento regular de la aplicación, no solo un mensaje de inserción. – RealCasually

Cuestiones relacionadas