2015-04-04 3 views
0

По андроида документации о Жизненный цикл услуги http://developer.android.com/reference/android/app/Service.html#ServiceLifecycleAndroid Service работает непрерывно

один запуске службы «Служба будет на данный момент продолжать работать до тех пор Context.stopService() или stopSelf() не называется.»

Что подразумевается под службой будет продолжаться? Если служба привязана к определенному соединению, я понимаю, что он ждет обратных вызовов от своего соединения, но что делать, если служба запущена? Как только выполняется onStartCommand, какова цель обслуживания?

ответ

2

Что подразумевается под службой будет продолжаться?

С точки зрения Android, a running service makes your process more important, и делает менее вероятным, что Android завершит этот процесс, чтобы освободить оперативную память системы для использования другими процессами.

Как только выполняется работа onStartCommand, какова цель обслуживания?

Единственная причина использования услуги заключается в том, что вы выполняете некоторую работу в фоновом режиме, которая может занимать больше секунды или около того, и вы хотите увеличить вероятность завершения работы.

Так, например:

  • музыки игроки будут использовать запущенный сервис, чтобы они могли продолжать играть музыку, даже если пользователь покидает игрок UI и делает что-то другое с их устройством

  • если вашему приложению необходимо загрузить значительный файл, и пользователю важно загрузить этот файл, вы должны использовать начатую службу для выполнения этой работы, а не просто разветвлять какую-либо нить или AsyncTask от деятельности

  • , если ваше приложение должно сделать работу периодически в фоновом режиме, вы будете использовать начал службу в сочетании с вещами как AlarmManager или JobScheduler

1

Что подразумевается под службой будет продолжаться?

Процесс будет продолжаться.

Как только выполняется работа onStartCommand, какова цель обслуживания?

Это зависит от того, что вы хотите сделать с сервисом. Обычно вам нужна услуга, потому что вам нужно «слушать» что-то асинхронно (это значит, что вы не знаете, когда это придет). Например, WhatsApp имеет службу, которая проверяет сервер на наличие новых сообщений. Если вам не нужно «слушать» что угодно, вам не нужна услуга.

Смежные вопросы