Портирование кода C, который использует fork () на Android - PullRequest
2 голосов
/ 12 декабря 2011

Я написал приложение на C, которое портирую на Android, используя NDK.Это приложение использует fork () для периодического создания дочерних процессов для выполнения некоторых задач.Эти дочерние процессы связываются с основным процессом по каналам и затем завершаются после завершения своей задачи.Объем данных, передаваемых по каналам, может составлять сотни килобайт.

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

Для этого варианта использования нормально ли держать fork () в нативном коде?Есть ли лучший способ сделать это через платформу Android?

Спасибо.

1 Ответ

1 голос
/ 12 декабря 2011

Сообщение от богини:

http://markmail.org/message/ruqp2t6gvhnhv654

Так что вам лучше оставить это.Это может открыть полную банку червей с управлением процессом.И нет ничего хуже, чем плохо себя вести безудержный процесс, сосущий циклы процессора и сок батареи.Лучшим решением было бы несколько абстракций андроида, таких как сервисы и широковещательные приемники в одном и том же процессе, передавая данные с помощью статических классов или намерений запуска

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