Я не понимаю определения «остановлено (чисто, не убивая процесс)», если вы выполняете какую-либо операцию, например синхронизируете данные с сервера и сохраняете их в базе данных, как вы будете четко проинформированы о том, что вам следует прекратить делать Это? Если у вас будет цикл forech, нет способа, как остановить его чисто.
реобразовании приложения для готовности к Android Oreo я прочитал документы наJobIntentService
сюда.
Там я нахожу (важная часть подчеркнута):
При работе в качестве службы до запуска применяется обычная семантика выполнения службы: [...] При работе в качестве заданияБудет применяться типичный лимит времени выполнения JobService, после которого задание будет остановлено (чисто, не убивая процесс) и перенесено, чтобы продолжить его выполнение позже.
Если я посмотрю назадокументированные ограничения нет ни слова о каких-либо сроках исполнения. ТакжеJobScheduler
делаетничего не упоминать.