Android: garder un service d'arrière-plan en vie (prévention des processus de la mort)

J'ai un service qui est défini comme:

public class SleepAccelerometerService extends Service implements SensorEventListener

Essentiellement, je fais une application qui surveille l'accéléromètre de l'activité pour diverses raisons, alors que l'utilisateur dort avec son téléphone sur le lit. C'est un long-exécution d'un service qui ne DOIT PAS être tué au cours de la nuit. En fonction du nombre d'arrière-plan des applications et des processus périodiques se produire au cours de la nuit, android tue parfois hors de mon processus, mettant ainsi fin à mon service. Exemple:

10-04 03:27:41.673: INFO/ActivityManager(1269): Process com.androsz.electricsleep (pid 16223) has died.
10-04 03:27:41.681: INFO/WindowManager(1269): WIN DEATH: Window{45509f98 com.androsz.electricsleep/com.androsz.electricsleep.ui.SleepActivity paused=false}

Je ne veux pas forcer l'utilisateur à avoir "SleepActivity" ou une autre activité dans mon application le premier plan. Je ne peux pas avoir mon service s'exécute périodiquement, car il est constamment l'interception onSensorChanged.

Des conseils à donner? le code source est ici: http://code.google.com/p/electricsleep/

InformationsquelleAutor Jon Willis | 2010-10-04