Как избежать этой неприятности?Я хочу вызвать stopSelf () после завершения загрузки.Какую константу я должен использовать, чтобы избежать этого?
Вы можете использовать IntentService , который автоматически выключится, когда задача будет завершена.
Как известно Androidсистема убивает процессы в случае нехватки памяти.И в любое время мой сервис может быть убит, пока загрузка не будет завершена?
Вы можете использовать startForeground
сервис в качестве
Запущенный сервисможно использовать API startForeground (int, Notification), чтобы перевести службу в состояние переднего плана, где система считает ее user is actively aware of and thus not a
candidate for killing when low on memory
.
для
Какую константу я должен использовать, чтобы избежать этого?
Использование
START_STICKY
: для перезапуска службы после Killed (намерение будет нулевым при перезапуске)
START_REDELIVER_INTENT
: перезапустить службу после убийства и получить то же намерение, которое было получено в первый раз
Примечание: очень немногие устройства не следуют START_STICKY
и аналогичным инструкциям.
Справка:
Как автоматически перезапустить службу, даже если пользователь принудительно ее закрыл?