Состояние службы на резюме - PullRequest
1 голос
/ 31 мая 2011

С учетом службы, которая возвращает START_STICKY из своей onStartCommand:

1) В документации упоминается об уничтожении службы, насколько я понимаю, что это не делается путем вызова Content.stopService , но выполняется системой, если ей нужны ресурсы (или моя служба могла бы также сбой, который был бы фактически таким же - без чистого отключения)?

2) Как я могу имитировать убийство, упомянутое в 1)? Убийство, вероятно, отличается от остановки (остановка! = Убийство?) Службы с помощью меню приложения в настройках, поэтому я не могу использовать это меню для целей тестирования?

3) Если мой сервис убит и затем перезапущен, согласно документации, кажется, вызывается только onStartCommand, но не onCreate. Итак, я делаю вывод, что переменные моего сервиса сохраняются до того, как мой сервис будет убит? Или почему onCreate не зачисляется? Или это может быть?

Моя цель - убедиться, что моя служба все еще работает надежно, когда она была убита и перезапущена. Спасибо за любую подсказку: -)

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Убийство означает, что его процесс был убит убийцей нехватки памяти.Вы можете смоделировать это из оболочки adb - используйте «ps», чтобы найти процесс вашего приложения, и «kill» с помощью найденного pid, чтобы убить его.Система через несколько секунд перезапустит процесс и службу.

Если вы получаете только onStartCommand (), значит, ваша служба и процесс уже запущены и их не нужно создавать заново.

0 голосов
/ 15 октября 2011

У меня была та же проблема, и мне было интересно, что происходит.

После прочтения ссылочного поста я просто переместил свой код из onStartCommand (..) в onCreate (..), и он работалкак и ожидалось.

...