Como forçar a reinicialização de um serviço?

Eu tenho um serviço em segundo plano que às vezes é morto pelo sistema operacional quando está com pouca memóri

Como simular esse comportamento para que eu possa depurá-lo?

O guia do desenvolvedor diz simplesmente "se o serviço for iniciado, você deverá projetá-lo para lidar com as reinicializações do sistema. Se o sistema interromper o serviço, ele será reiniciado assim que os recursos estiverem disponíveis novamente".

Qual é a sequência de chamadas desde quando é finalizada até quando termina de reiniciar?

Em uma questão paralela (relacionada), o que acontece com um AsyncTask em execução ativa iniciado no serviço quando o serviço é morto pelo sistema operacional, ou seja, sem serviço. Ele continua em execução ou é copiado silenciosamente junto com o serviço?

questionAnswers(2)

yourAnswerToTheQuestion