Ограничения фонового исполнения в Android 8

Ограничения фонового исполнения в Android

Exploring Background Execution Limits on Android Oreo — статья о том, какие ограничения применяет Android 8 к приложениям, работающим в фоне.

  • Ограничения действуют только в отношении приложений собранных для API 26 и выше.
  • Приложения не могут запускать службы, находясь в фоне. Будет выброшено исключение IllegalStateException.
  • Приложения по-прежнему могут запускать foreground-службы, которые отображаются в панели уведомлений, и призванные службы.
  • Приложения могут запускать службы после получения высокоприоритетного push-уведомления, но такая служба будет остановлена через пять минут.
  • Приложение может запускать службы, находясь на экране, но если приложение будет свернуто, через некоторое время все ее службы будут завершены.
  • Получатели неявных широковещательных сообщений (broadcast receiver), объявленные в манифесте, будут отключены за некоторыми исключениями (см. таблицу ниже).

Ограничения фонового исполнения в Android

Как обойти ограничения

  • вместо фоновых служб можно использовать foreground-службы;
  • для выполнения задач при возникновении определенных событий подойдет Job Scheduler;
  • чтобы приложение могло реагировать на любые широковещательные сообщения получателей этих сообщений необходимо зарегистрировать динамически, с помощью метода registerReceiver().
Понравилась статья? Поделиться с друзьями:
Добавить комментарий