Ответ 1
Как я понимаю, жизненный цикл:
onStart()
устарел на несколько лет. onStartCommand()
- это текущий метод жизненного цикла.
Почему нет метода остановки?
Потому что нет необходимости в одном.
Что произойдет, если в моей службе сделан запрос stopService?
Вы будете вызваны с помощью onDestroy()
.
Могу ли я обнаружить это событие?
Вы можете переопределить onDestroy()
.
Я бы хотел (или, по крайней мере, проверить), что мой сервис является одним из элементов процесса. Как я могу это сделать (или Android поддерживает это за кулисами)?
Услуги - это естественные одиночные игры. В любой момент времени будет 0 или 1 экземпляр вашей службы.
Для контекста у меня есть некоторые ресурсы, которые я бы хотел выделить и освободить во время работы службы (в "запуске" ), и еще один набор ресурсов, которые я бы хотел выделить и освободить, пока служба является "созданного".
"Созданное" состояние используется как с шаблоном команды (startService()
, так и onStartCommand()
) и шаблоном привязки (bindService()
и onBind()
). Следовательно, если вы вызываете startService()
, ваша служба будет чисто в "созданном" состоянии, надеюсь, меньше миллисекунды.