У меня есть служба, которая работает в фоновом режиме. Хорошо, если система убивает этот сервис в условиях нехватки памяти, однако я не хочу, чтобы сервис перезапускался системой.
Поэтому, чтобы сделать это, я возвращаю флаг START_NOT_STICKY из моей onStartCommand следующим образом:
public int onStartCommand(Intent intent, int flags, int startId) {
// do stuff here
return START_NOT_STICKY;
}
Однако, когда я специально открываю кучу приложений для создания нехватки памяти, я вижу это в журналах:
Process com.myapp (pid 3960) has died.
Scheduling restart of crashed service com.myapp/.MyService in 5000ms
Low Memory: No more background processes.
...
Start proc com.myapp for service com.myapp/.MyService: pid=4905 uid=10031 gids={3003, 1015}
Итак, мой процесс перезапускается, когда этого не должно быть. Почему это? Согласно документации START_NOT_STICKY не должен позволять перезапускать сервис. Есть ли другой способ предотвратить перезапуск службы? Или я могу сказать, когда мой сервис был перезапущен?
Спасибо