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