Будет ли Android убивать моего демона, который работает от имени root? - PullRequest
1 голос
/ 25 мая 2011

У меня есть приложение, которое (имеет часть, которая) должно всегда работать;он не запускается как служба, приложение запускает демон (написанный на c), который запускается от имени пользователя root.

собирается ли андроид убить его на меня, чтобы вернуть память?Это работает от имени root защищает меня от этого?Если нет, что я могу сделать, чтобы гарантировать, что он никогда не умрет, и если это произойдет, он начнется снова?

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Если ваш демон является чистым нативным приложением (например, запущенным через системный inittab), а не чем-то работающим в контексте APK, то Android никогда не убьет его. По крайней мере, в моей ситуации, которая именно такова, единственный раз, когда мой демон когда-либо завершал свою работу, как раз перед моим исправлением SIGSEGV;)

0 голосов
/ 26 мая 2011

Я некоторое время не работал с android, и я не работал с процессом запуска root. Но я верю, что независимо от того, с каким пользователем работает ваше приложение, ОС Android может выдать ему команду «сделать остановку», а затем потенциально команду «убить», если объем памяти действительно истощается. Причина, по которой я это говорю, заключается в том, что, подобно полному ядру Linux, если ему нужна память, он найдет способ его получить. У меня есть телефон HTC, и я на самом деле видел, как ядро ​​убивает смысл HTC, чтобы получить оперативную память, что по существу сбрасывает телефон. Есть способы установить, когда приложение должно быть запущено, я полагаю, что вы можете установить ловушки, которые говорят, когда приложение должно быть запущено на основе телефонных событий. Аналогично тому, как приложение txt msg запускается, когда телефон получает txt, или как приложение будильника будет отключаться, даже если вы убьете приложение в диспетчере задач. Я считаю, что вы можете установить их в конфиге приложения xml.

Удачи!

...