Я работаю над приложением для Android, которое собирает данные датчиков в течение нескольких часов. Для этого у нас есть служба, которая собирает данные датчиков (например, ускорение, GPS и т. Д.), Выполняет некоторую обработку и сохраняет их удаленно на сервере.
В настоящее время эта Служба выполняется в отдельном процессе (с использованием android: service = ": background" в манифесте). Это усложняет обмен данными между Действиями и Сервисом, но мои предшественники создавали Приложение таким образом, потому что они думали , что отделение Сервиса от Действий сделает его более стабильным.
Я хотел бы еще несколько фактических причин для попытки запустить отдельный процесс. Каковы преимущества? Неужели стабильнее работает? Меньше ли вероятность того, что Служба будет убита ОС (для освобождения ресурсов), если она? s в отдельном процессе?
Наше приложение использует startForeground () и друзей, чтобы минимизировать вероятность быть убитым ОС.
В документации по Android это не очень конкретно, в основном говорится, что это зависит от цели приложения; -)
TL; DR Каковы объективные причины для помещения долго работающей службы в отдельный процесс (в Android)?