Использование bindService()
из Application
бессмысленно, так как вы никогда не сможете позвонить unbindService()
.
Лучше всего, конечно, чтобы ваша служба находилась в памяти, только еслиактивно приносит пользу пользователю, а не только потому, что загружается какой-то другой компонент вашего приложения.В данном случае вы идете по пути утечки этой услуги, если вы идете с вашим планом использования startService()
из Application
.В Android нет реальной концепции «приложение работает» в качестве конструкции жизненного цикла, поэтому у вас не будет логического времени для остановки службы.
(Кстати, Application
имеет onTerminate()
метод, он никогда не будет вызван)