Google подробно описывает изменения в Android 11, которые призваны помешать производителям оборудования отключать фоновые приложения

Одно из мест, где сильнее всего ощущается фрагментация Android, — это то, как различные производители оборудования (OEM) изменяют основные части операционной системы. Одна из таких областей, которая была поднята во время сессии вопросов и ответов с инженерами Android, касалась того, как компании настраивают работу Android с фоновыми приложениями. В Android 11 Google внесла несколько изменений, которые призваны хотя бы частично решить эту проблему.

Недавно в подробной статье наших коллег из Android Police рассказывалось о том, как различные производители Android-устройств — особенно Samsung и OnePlus — работают с фоновыми приложениями и процессами на своих смартфонах. Подобные изменения могут расстраивать всех. Пользователи могут замечать задержки уведомлений и неправильную работу некоторых функций. Тем временем разработчикам приходится бороться с этими изменениями, чтобы их приложения работали, а когда приложения не работают должным образом, винят в этом именно разработчиков.

На недавней сессии вопросов и ответов несколько пользователей спросили, что Google собирается с этим делать и будут ли в Android 11 какие-либо изменения в ситуации с фоновыми приложениями. Короткий ответ: изменений несколько, но они почти наверняка не решат более серьезные проблемы.

Команда Android Google называет фоновые приложения «сложной темой» и заявляет, что они работают над этим уже довольно давно. В данном ответе также критикуются производители оборудования, отмечается, что «не помогает то, что каждый производитель делает это по-своему».

Реклама — прокрутите для продолжения

Поясняется, что Google работала с производителями оборудования, чтобы выяснить, *почему* они внесли те или иные изменения, а также чтобы убедить партнеров отказаться от «крайних» мер по остановке фоновых приложений. По всей видимости, компания также сотрудничает со своими партнерами для устранения нарушений условий Google на некоторых устройствах от «ведущих производителей», при этом исправления выходят в последних обновлениях.

Чтобы еще больше ограничить эти проблемы в будущем, Документ об определении совместимости (CDD) Android 11 потребует от производителей оборудования «своевременно уведомлять пользователей об ограничениях приложений». Google также запретит производителям создавать списки разрешенных приложений для обхода этих ограничений, поскольку это навредит мелким разработчикам.

В комментарии Мишаал Рахман из XDA поделился конкретными изменениями, о которых говорит Google. Они звучат так:

  • Если реализация устройства включает проприетарный механизм ограничения приложений, и этот механизм более строгий, чем «редкий» (Rare) режим ожидания в AOSP, то:
    • [C-1-5] производители ДОЛЖНЫ информировать пользователей, если ограничения для приложения применяются автоматически. (НОВОЕ) Такая информация НЕ ДОЛЖНА предоставляться ранее чем за 24 часа до применения таких ограничений.
    • (Примечание) Принудительная остановка (Force Stop) считается более строгой, чем «редкий» режим, и ДОЛЖНА соответствовать всем требованиям раздела 3.5.1, включая новое требование 3.5.1/C-1-5

Google также упомянула новый API, который сообщает разработчику, почему его приложение завершило работу. Это может помочь им исправить проблему, но не повлияет на конечного пользователя, если только разработчик не сможет реально исправить ошибку, а этот API, по сути, им в этом не поможет.

Очевидно, что Google и команде Android предстоит еще много работы в этой области. Я полностью согласен с Райном Хейгером из AP, что Google могла бы и *должна* делать больше в этом вопросе, но, очевидно, этого не произойдет в ближайшем будущем.

Больше об Android 11: