Android: mantendo um serviço em segundo plano ativo (evitando a morte do processo)
Eu tenho um serviço que é definido como:
public class SleepAccelerometerService extends Service implements SensorEventListener
Essencialmente, estou criando um aplicativo que monitora a atividade do acelerômetro por vários motivos enquanto o usuário dorme com seu telefone / dispositivo na cama. Este é um serviço de longa duração que NÃO DEVE ser morto durante a noite. Dependendo de quantos aplicativos em segundo plano e processos periódicos ocorrem durante a noite, o Android às vezes mata meu processo, encerrando assim o meu serviço. Exemplo:
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}
Não quero forçar o usuário a ter 'SleepActivity' ou alguma outra atividade no meu aplicativo como primeiro plano. Não posso executar meu serviço periodicamente, porque ele constantemente intercepta onSensorChanged.
Alguma dica? o código fonte está aqui:http://code.google.com/p/electricsleep/