Как сохранить сервис работающим после принудительной остановки?

1

Я видел, что если вы убьете какой-то процесс, он немедленно перезагрузится и продолжит работу. Как это реализовано? Как сообщить системе, что моя служба не должна быть убита, а если это произошло - перезапустите ее.

  • 0
    О каких процессах ты говоришь. Приведите примеры.
  • 0
    Я видел в журналах, что система перезапускала процессы после того, как они были убиты.
Показать ещё 3 комментария
Теги:

2 ответа

2
Лучший ответ

Не уверен, что это то, что хорошо, но я видел вредоносные процессы, у которых есть "приятельские" процессы, которые оживляют друг друга, когда один или несколько идут вниз.

Я надеюсь, что все, что вы делаете, этично: -)

  • 0
    Я надеюсь, что этого избежать.
  • 3
    Классическое поведение вирусов в Windows и т. Д.
4

Android просто делает это. Как ОС, Android специально разработан для работы с полной загрузкой. Так что, если вы убьете, или приложение закрывает его, если их место в баране для его перезапуска Android, чтобы заполнить баран обратно.

Это происходит потому, что даже "самые быстрые" телефоны - это улитки даже для самого среднего числа настольных компьютеров и хранения как можно большего количества программ, которые вы используете, загружаемых в ram, позволяет просто "возобновить" программу вместо того, чтобы проходить через slooooow, время тратить время, чтобы перезагрузить его обратно в ram, а затем запустить его с самого начала.

Ядро Android имеет свой собственный диспетчер задач. Это означает, что он будет более эффективным, чем любой менеджер задач на основе app-, поскольку он запускается на уровне ядра, и его нужно оставить до этого убийцы задач, чтобы решить, когда освободить память или не освободить память. Пусть Android сделает то, что было разработано. Все, что вы делаете, чтобы заставить его перезапустить программу или остановить программу, в конечном итоге замедлит ее и даже может вызвать проблемы со стабильностью.

Однако короткий ответ на ваш вопрос заключается в том, что невозможно сказать "системе", что ваш процесс нельзя убивать или перезапускать, когда он закрыт. Это выбор, сделанный полностью менеджером задач уровня ядра.

Кстати, зачем вам это нужно? Я спрашиваю об этом, потому что я не думаю, что вы это хорошо поняли. Помните, в отличие от владельцев IOS, которые привыкли и ожидали, что полный контроль над их устройством окажется в руках Apple (для хорошего или плохого), которого ожидают владельцы Android, и будут контролировать свое устройство. Если вы попытаетесь убрать это от них, вы, скорее всего, найдете большинство людей, удаляющих ваш сервис. И потребовать их деньги обратно, если вы взимаете плату за него.

Надеюсь, это помогло.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню