Android - Как решить, запускать ли службу в отдельном процессе?

Я работаю над приложением для Android, которое собирает данные датчиков в течение нескольких часов. Для этого у нас есть служба, которая собирает данные датчиков (например, ускорение, GPS и т. Д.), Выполняет некоторую обработку и сохраняет их удаленно на сервере.

В настоящее время эта Служба выполняется в отдельном процессе (с использованием android: service = ": background" в манифесте). Это усложняет обмен данными между Действиями и Сервисом, но мои предшественники создавали Приложение таким образом, потому что они думали , что отделение Сервиса от Действий сделает его более стабильным.

Я хотел бы еще несколько фактических причин для попытки запустить отдельный процесс. Каковы преимущества? Неужели стабильнее работает? Меньше ли вероятность того, что Служба будет убита ОС (для освобождения ресурсов), если она? s в отдельном процессе?

Наше приложение использует startForeground () и друзей, чтобы минимизировать вероятность быть убитым ОС.

В документации по Android это не очень конкретно, в основном говорится, что это зависит от цели приложения; -)

TL; DR Каковы объективные причины для помещения долго работающей службы в отдельный процесс (в Android)?

45
задан Michael Kohne 12 June 2014 в 10:45
поделиться