Задать вопрос
orcDamnar
@orcDamnar
Java, C/C++, Android SDK

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

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

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

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