Здравствуйте. Подскажите, зачем сделан такой lifecycle:
http://developer.android.com/intl/ru/gu ... #Lifecycle ?
Всё прочитал про service оттуда (кроме aidl), всё понятно, кроме этого жизненного цикла. Не пойму, зачем его таким сделали.
Точнее не понятен смысл связки OnUnbind(return true) - OnRebind. Т.е. в каких случаях может понадобиться обработать OnRebind?
Пока писал вопрос, стало кое-что проясняться. Есть предположение, что это сделано для того, чтобы в каких-то целях использовать информацию о том, подключен ли вообще кто-нибудь или нет к сервису. Например, сервис может сам себя остановить, если в течении, например, 30 минут, к нему ни один клиент не подключался.
Кстати, в уроке не упомянуто следующее:
Если сервис запущен методом startService (сервис принимает форму started), а также к нему подключены клиенты, и если при этом вызвать stopService, то сервис не уничтожится, потому что на нем висят клиенты. Вместо этого сервис примет форму bound, и как всем известно, он будет работать до тех пор, пока от него не отключатся все клиенты (как только последний клиент отключится, то сервис тоже уничтожится). При этом, в этом случае, после того, как сервис принял форму bound, ему можно вернуть исходную форму(started), если какой-либо клиент вызовет startService (этот вызов устанавливает сервису форму started) до того, как все клиенты отключатся от сервиса.