A
A
Alexey Perelygin2016-02-21 14:26:00
Android
Alexey Perelygin, 2016-02-21 14:26:00

When will Service die?

Есть класс, наследник IntentService который в onHandleIntent выполняет некоторую работу. При первом запуске создается некоторый контекст, с которым он работает... Может ли сервис умереть, до того, как будет закрыто приложение, его стартовавшее? То есть, приложение работает с данными, которые инициализирует этот сервис, можно ли в onDestroy этого сервиса освободить память, не боясь, что в один прекрасный момент этих данных может не оказаться?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
Денис Загаевский, 2016-02-21
@orcDamnar

IntentService создан для того, чтобы умирать :)
То есть суть такая - вы кидаете ему некую работу, которую делаете в onHandleIntent(); если приходят несколько интентов подряд, то всё это ставится в очередь и выполняется последовательно. Если задача завершилась(onHandleIntent завершился), а новых задач нет - сервис умирает до следующего раза.
Если надо сохранять между задачами некоторый контекст - пишите свой аналог IntentService, который не будет завершаться. На developers.android.com есть подробная статья на эту тему.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question