Любое приложение, которое имеет сервис, очевидно, рассчитывает, что он всегда будет работать. Это часть продукта, и если это платное приложение - пользователь ожидает его.
Однако, похоже, что нет никакой возможности для службы не получить wacked, если ОС Android чувствует давление памяти или если что-то пойдет не так, и служба сбой.
Каков наилучший способ убедиться, что служба всегда работает?
Можно ли создать вторую услугу, которая время от времени запускает "полезную" услугу, и если она будет запущена, она будет проигнорирована?
Честно говоря, я не уверен, что это хорошая идея, как и все.
Если есть достаточное давление памяти, было бы несправедливо по отношению к другим приложениям настаивать на запуске. Кроме того, службы выходят из строя при тяжелых ситуациях с низкой памятью.
Если вы пишете услугу жнеца, ее тоже можно вытащить.
И как вы говорите: "И если это платное приложение - пользователь ожидает его". - пользователь также ожидает, что приложения будут играть приятно
Если ваша служба "критическая", вы можете использовать startForeground
, которая придает вашей службе такой же приоритет, как и активность на переднем плане.