В соответствии с жизненным циклом службы в документе разработчика метод onDestroy()
будет вызываться при остановке или остановке службы.
Кроме того, если в приложении запущена службана заднем плане (то есть музыкальный проигрыватель, играющий в фоновом режиме), система будет считать, что приложение активно, и не будет останавливать его процесс, кроме экстремальных условий (я не думаю, что это происходит на практике).
В документе написано:
Note this means that most of the time your service is running, it may be killed by the system if it is under heavy memory pressure. If this happens, the system will later try to restart the service. An important consequence of this is that if you implement onStartCommand() to schedule work to be done asynchronously or in another thread, then you may want to use START_FLAG_REDELIVERY to have the system re-deliver an Intent for you so that it does not get lost if your service is killed while processing it.
Здесь я думаю о том, что если служба убита операционной системой, ОС попытается перезапустить ее позже.Но в этом случае вызывается метод onDestroy ()? Я не уверен.Кто-нибудь проверял это?