Сервис останавливается после нескольких минут простоя - PullRequest
0 голосов
/ 24 апреля 2011

Я пишу приложение для Android с помощью провайдера местоположения GPS в службе, которая запускается при создании основной операции (если служба еще не запущена). У меня сложилось впечатление, что служба будет продолжать работать с маловероятным исключением, что диспетчер задач может убить ее, если будет нехватка памяти. По какой-то причине служба перезапускается, если есть период очень низкой активности независимо от того, сколько памяти доступно. Когда пользователь находится снаружи и GPS может определить местоположение, служба будет получать данные о местоположении каждые 30 секунд и отключать gps (для экономии заряда аккумулятора). В этом случае служба продолжает работать без каких-либо проблем, но когда пользователь перемещается внутрь и местоположение GPS не может быть найдено в течение пяти секунд, тогда служба отключает GPS и будет активировать GPS каждые 200 секунд, чтобы проверить, пользователь вернулся на улицу. В этом случае служба иногда останавливается и не будет перезапущена до тех пор, пока приложение не будет вновь открыто и действие не перезапустит службу. Я создал отдельный сервис, чтобы убедиться, что процесс был непрерывным. Кто-нибудь знает, почему это может происходить? Большое спасибо за Вашу помощь! -Дом

1 Ответ

1 голос
/ 24 апреля 2011

Я бы взглянул на пример Марка Мерфи, который касается Сервисов и Wakelocks:

WakefulIntentService

Если вы не можете понять это из его примера кода, то вы хотите получить его книгу по расширенному Android, где проблема подробно объясняется.

Руководство занятого кодера по продвинутой разработке Android

Это одни из лучших книг по разработке под Android, которые стоят минимальных затрат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...