2011-04-04 8 views
12

Ya sé que si su app se ve forzada a cerrar por un asesino de aplicaciones, o mediante la configuración de Android, sus alarmas pendientes se pierden. Pero ¿y si Android lo mató debido a la memoria muy baja? ¿Sus alarmas se perderían en este caso? ¿Con qué frecuencia sucede esto?¿Persiste una alarma AlarmManager si el sistema mata la aplicación debido a la poca memoria?

veo dos formas de recuperar de la pérdida de una alarma:

  1. Si su aplicación tiene una actividad principal, utilice onCreate() para comprobar si su alarma se está retrasando (alarma debe almacenar el tiempo que se se ejecutó por última vez en un pref), y reprogramarlo según sea necesario.

  2. Encuentra alguna tarea frecuente de Android para unirte a un receptor y hacer la misma comprobación que antes.

Ambos tienen algunos inconvenientes importantes obvios. ¿Alguna otra idea?

+0

pregunta bien formulada, justo lo que quería preguntar a mí mismo :-) –

+0

Did que tienes respuestas acerca de "¿Con qué frecuencia en realidad esto suceda?" – htafoya

Respuesta

3

Ya sé que si su aplicación se ve forzada a cerrar por un asesino de aplicaciones, o mediante la configuración de Android, sus alarmas pendientes se pierden.

Definitivamente un asesino de tareas en Android 2.1 y versiones anteriores tiene este efecto. No soy consciente de que el uso de la aplicación de configuración tiene este efecto, aunque no lo he intentado.

¿Sus alarmas se perderían en este caso?

+0

Probé la aplicación de Configuración en 2.2, y mató mis alarmas. Gracias por la info. Supongo que lo prepararon de esta manera porque creen que el usuario deliberadamente quiere matar el programa. – Tenfour04

Cuestiones relacionadas