orcDamnar
@orcDamnar
Java, C/C++, Android SDK

Когда умрет Service?

Есть класс, наследник IntentService который в onHandleIntent выполняет некоторую работу. При первом запуске создается некоторый контекст, с которым он работает... Может ли сервис умереть, до того, как будет закрыто приложение, его стартовавшее? То есть, приложение работает с данными, которые инициализирует этот сервис, можно ли в onDestroy этого сервиса освободить память, не боясь, что в один прекрасный момент этих данных может не оказаться?
  • Вопрос задан
  • 231 просмотр
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
IntentService создан для того, чтобы умирать :)
То есть суть такая - вы кидаете ему некую работу, которую делаете в onHandleIntent(); если приходят несколько интентов подряд, то всё это ставится в очередь и выполняется последовательно. Если задача завершилась(onHandleIntent завершился), а новых задач нет - сервис умирает до следующего раза.
Если надо сохранять между задачами некоторый контекст - пишите свой аналог IntentService, который не будет завершаться. На developers.android.com есть подробная статья на эту тему.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы