Предположим, что я начал службу из-за активности и ее работы на заднем поле, и если я снова запустил службу, перезапустит службу или будет иметь несколько экземпляров?Несколько экземпляров одной службы
ответ
См the docs на жизненный цикл сервиса:
Есть две причины, по которым услуга может быть запущена системой. Если кто-то вызывает Context.startService(), тогда система будет получать сервис (создавая его и вызывая его метод onCreate(), если это необходимо), а затем вызывает его метод onStartCommand (Intent, int, int) с аргументами, предоставленными клиентом. Служба в этот момент продолжит работу до вызова Context.stopService() или stopSelf().
Обратите внимание, что несколько вызовов Context.startService() не вложены (хотя они приводят к нескольким соответствующим вызовам onStartCommand()), поэтому независимо от того, сколько раз он запускается, служба будет остановлена после Context.stopService() или stopSelf(); однако службы могут использовать метод stopSelf (int), чтобы гарантировать, что служба не будет остановлена до тех пор, пока не будут обработаны начатые намерения.
В принципе, создается один раз (вызов onCreate
), и для каждого последующего вызова startService
, метод onStartCommand
вызывается снова.
Сервер определит, следует ли звонить самому onCreate
, в зависимости от того, был ли он уже запущен.
если я снова запустить службу затем перезапустить службу
Это не будет воссоздавать или переинициализировать себя, но код в onStartCommand
запускается снова, так что будьте уверены, чтобы иметь в виду, что вы не Не делайте ничего там, что не должно случаться более одного раза. Сделайте это в onCreate
.
Тим спасибо за ваш ответ ..... виртуальный палец вверх –
- 1. Zend Framework 2 - Несколько экземпляров одной и той же службы
- 2. Несколько экземпляров одной и той же службы WCF?
- 3. Android stop Несколько экземпляров одной и той же службы
- 4. angularjs несколько экземпляров одной и той же службы
- 5. Несколько экземпляров автономной службы WCF
- 6. Как запустить несколько экземпляров службы?
- 7. Создать несколько экземпляров одной формы?
- 8. Показаны несколько экземпляров одной формы?
- 9. Несколько экземпляров одной MEF DLL
- 10. несколько экземпляров службы OSGi и привязка DS
- 11. Как остановить несколько экземпляров службы Android?
- 12. Как иметь несколько экземпляров службы в Android
- 13. Как создать несколько экземпляров окна службы?
- 14. Android - Почему несколько экземпляров этой службы запущены?
- 15. Несколько экземпляров на одной странице с Javascript
- 16. Несколько экземпляров dropzone в одной HTML-форме
- 17. Несколько экземпляров одной и той же опции?
- 18. Несколько экземпляров узлов с одной базой данных
- 19. несколько экземпляров одной строки к списку
- 20. Несколько экземпляров Карт Google на одной странице
- 21. Несколько экземпляров плагина jQuery на одной странице
- 22. Несколько синхронизированных экземпляров CKEditor на одной странице?
- 23. NGRX Store - создайте несколько экземпляров одной модели
- 24. JQuery Несколько экземпляров события на одной странице
- 25. несколько экземпляров Sequelize в одной базе данных
- 26. Замок Виндзор вводит несколько экземпляров одной командой
- 27. Несколько экземпляров плагина jQuery на одной странице?
- 28. Показать несколько экземпляров three.js на одной странице
- 29. Несколько экземпляров JVM в одной программе
- 30. Несколько автономных экземпляров neo4j на одной машине
Ни один из них, «Сервис» - это одноэлементный и 'onStartCommand', будет вызван снова – pskink