Обмеження фонового виконання в Android 8

ogranicheniya fonovogo ispolneniya v android 816 Обмеження фонового виконання в Android 8

Exploring Background Execution Limits on Android Oreo — стаття про те, які обмеження застосовує Android 8 до додатків, що працюють у тлі.

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

ogranicheniya fonovogo ispolneniya v android 817 Обмеження фонового виконання в Android 8

Як обійти обмеження

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