Как долго "ограничение времени выполнения JobService" упоминается в документах Jobintentservice для Android?


При преобразовании приложения, чтобы быть готовым для Android Oreo, я прочитал документы на JobIntentService Вот здесь .

Там я нахожу (важная часть подчеркнута):

При работе в качестве предварительного вывода сервиса, нормального исполнения услуги семантика применяется: [...] При выполнении в качестве задания типичная служба JobService будет действовать ограничение по времени выполнения, после чего задание будет остановлено (чисто, не убивая процесс) и перепланировал, чтобы продолжить его исполнение позже.

Если я посмотрю на документированные ограничения, там нет ни слова о каких-либо ограничениях времени выполнения. Также JobScheduler не упоминает ничего.

    Является ли это временным ограничением, о котором я просто не должен беспокоиться?
  • это без документов?
  • или ограничение по времени выполнения больше не существует?
  • или мне придется перепроектировать свои службы таким образом, чтобы они могли быть прерваны и перезапущены в любой момент времени? Лучший практики?
1 3

1 ответ:

Как долго "ограничение времени выполнения JobService" упоминается в документах Jobintentservice для Android?

На практике кажется, что это 10 минут. Первоначально я определил это путем тестирования, но кто-то из IIRC указал на ограничение в исходном коде.

Является ли это временным ограничением, о котором я просто не должен беспокоиться?

Если вы действительно уверены, что ваша работа будет выполнена за меньшее время, да, по крайней мере на данный момент.

Так ли это недокументированные?

Да.

Или ограничение по времени выполнения больше не существует?

Он существовал, когда я проверял его в последний раз.

Или мне придется перепроектировать свои службы таким образом, чтобы они могли быть прерваны и перезапущены в любой момент времени?

Ну, в идеале, да, особенно если вы используете какие-либо ограничения вне времени. Например, если вы говорите, что ваша работа требует подключения к сети, а устройство теряет подключение, ваша работа будет остановлена. Это может произойти задолго до истечения 10-минутного периода времени.

Лучшие практики?

Избегайте периодической фоновой работы в максимально возможной степени.