#android #service #background-process #multitasking #ondestroy
#Android #Обслуживание #фоновый процесс #многозадачность #ondestroy
Вопрос:
Я работаю со службами в своем приложении для Android, но у меня нет особых проблем с использованием служб, которые, когда я закрываю свое приложение из многозадачности, внезапно останавливают фоновую службу из этого приложения, и даже я не получаю журнал из onDestroy службы…
Я думаю, что он убит из-за того, что Android уничтожает все ресурсы приложения, и моя служба также убита.
через некоторое время служба автоматически выводит статистику… Я не знаю причины этого..
Есть ли какое-либо решение для обеспечения непрерывной работы моей службы??
Заранее спасибо.
Ответ №1:
Я предполагаю, что закрытие приложения из многозадачности равно уничтожению процесса приложения, что и делает большинство приложений для обработки / задач.
Я также предполагаю, что вы знаете, что ваш код не содержит какого-либо сигнала тревоги, который периодически просыпается для перезапуска вашей службы.
Если описанное поведение является последовательным и происходит в течение нескольких секунд после закрытия приложения, мы, вероятно, также можем исключить широковещательный приемник, который просыпается для запуска потока.
Что оставляет нам последнее объяснение: ваш процесс был объявлен липким:
class MyService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY; // declare service to be sticky
}
}
Липкая служба — это служба, которая просит Android перезапустить ее после внезапной смерти,
если системные ресурсы позволяют такой перезапуск.
То, что вы описываете, идеально соответствует липкому поведению. Удаление флага sticky должно решить вашу проблему.
Комментарии:
1. хорошо, спасибо за ответ .. сначала дайте мне знать о липком сервисе, и я снова вернусь к своей проблеме..
2. все эти возвращаемые значения дают опции для перезапуска или отказа от службы после завершения работы… но моя проблема в том, что на самом деле я не хочу, чтобы служба была уничтожена…..