Перезапуск службы Android - PullRequest
1 голос
/ 12 июля 2011

У меня есть удаленный сервис.У меня есть основная деятельность, которая связывает onresume и освобождает от паузы.Служба отправляет широковещательные сообщения типа onstart oncreate и т. Д.

По какой-то причине мой сервис перезапускается, поэтому он запускает команду onstart (no ondestroy), например, 4 раза в минуту, а затем внезапнопросто успокаивается и бежит навсегда.

Я ставлю попробовать ловит вокруг все и ничего.я также добавил log.d onlowmemory и ничего.

Но вот странная часть, это происходит только тогда, когда мой телефон подключен (отладка).

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Система может убить любой сервис или действие, если только в этом есть необходимость.Есть две вещи, которые вы можете сделать: поддерживать низкий уровень - убедитесь, что ваша служба использует как можно меньше памяти и процессора.Пометьте свой сервис как передний план - посмотрите, например, документацию , как это сделать.Это не гарантирует, что ваш сервис не будет убит, но немного сдвинет его в очередь, так что совет № 1 все еще актуален.

0 голосов
/ 12 июля 2011

Службы могут быть «запущенными» службами (в которых вы явно вызываете Context.startService () и Context.stopService ()) и / или «связанными» службами (в которых вы вызываете только Context.bindService () и жизненный цикл службы контролируется системой). Вы по-прежнему можете вызывать «bindService ()» для «запущенных» служб, если вам нужно получить соединения для взаимодействия с ними.

В первом абзаце вы упоминаете, что привязываетесь к сервису, а во втором говорите, что вызывается метод onStartCommand () сервиса. onStartCommand () вызывается только , когда вы запускаете «запущенную» службу.

Как / где вы вызываете "startService ()" в вашем приложении?

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