Android 12 Developer Preview 2

Теги

Android — операционная система для смартфонов, планшетов, электронных книг, цифровых проигрывателей, наручных часов, фитнес-браслетов, игровых приставок, ноутбуков, нетбуков, смартбуков, очков Google Glass, телевизоров, проекторов и других устройств.

Android ОС изначально разрабатывалась компанией Android, Inc., которую затем приобрела Google. Основана на ядре Linux и собственной реализации виртуальной машины Java от Google. Впоследствии Google инициировала создание альянса Open Handset Alliance (OHA), который занимается поддержкой и дальнейшим развитием платформы. 

Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit позволяет портировать библиотеки и компоненты приложений, написанные на Си и других языках. Релиз Android 12 ожидается в третьем квартале 2021 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 3 / 3 XL, Pixel 3a / 3a XL, Pixel 4 / 4 XL, Pixel 4a / 4a 5G и Pixel 5.

Обновления и изменения в новой версии ОС:

  • Добавлена возможность адаптации элементов интерфейса к устройствам со скруглёнными экранами. Разработчики теперь могут получить информацию о скруглениях экрана и откорректировать элементы интерфейса, попадающие на невидимые угловые области. Через новый API RoundedCorner можно узнать такие параметры, как радиус и центр закругления, а через Display.getRoundedCorner() и WindowInsets.getRoundedCorner() определить координаты каждого скруглённого угла экрана.
  • Улучшен режим "картинка в картинке" (PIP, Picture in Picture) и повышена плавность переходных эффектов. В случае включения автоматического перехода в PIP при жесте up-to-home (сдвиг низа экрана вверх) приложение теперь сразу переводится в режим PIP, не дожидаясь завершения анимации. Улучшено изменение размера PIP-окон с содержимым, отличным от видео. Добавлена возможность спрятать PIP-окно через его перетаскивание к левому или правому краю экрана. Изменено поведение при касании к PIP-окну - одно касание теперь приводит к отображению кнопок управления, а двойное меняет размер окна.
  • Добавлен новый API CompanionDeviceService, при помощи которого можно активировать приложения, управляющие сопутствующими устройствами, такими как умные часы и фитнес-трекеры. API решает проблему с запуском и соединением необходимых приложений при появлении поблизости сопутствующего устройства. Система активирует сервис при нахождении устройства поблизости и отправляет уведомление при отключении устройства или при входе или выходе устройства из области видимости. Приложения также могут использовать новый профиль сопутствующих устройств для упрощения настройки полномочий для присоединения к устройству.
  • Улучшена система прогнозирования пропускной способности. Приложения теперь могут запросить сведения о прогнозируемой общей пропускной способности в привязке к оператору, конкретной беспроводной сети (Wi-Fi SSID), типу сети и уровню сигнала.
  • Упрощено применение типовых визуальных эффектов, таких как размывание и искажение цветов, которые теперь можно применять при помощи API RenderEffect к любому объекту RenderNode или всей видимой области, в том числе в цепочке с другими эффектами. Указанная возможность, например, позволяет размыть картинку, выведенную через ImageView, без явного копирования, обработки и замены битмапа, вынося эти действия на сторону платформы. Дополнительно предложен API Window.setBackgroundBlurRadius(), при помощи которого можно размыть фон окна c эффектом матового стекла и выделить глубину через размытие пространства, окружающего окно.
  • Интегрированы средства для перекодирования мультимедийных потоков, которые могут использоваться в окружениях с приложением для работы с камерой, сохраняющем видео в формате HEVC, для обеспечения совместимости с приложениями, не поддерживающих данный формат. Для подобных приложений добавлена функция автоматического перекодирования в более распространённый формат AVC.
  • Добавлена поддержка формата изображений AVIF (AV1 Image Format), в котором задействованы технологии внутрикадрового сжатия из формата кодирования видео AV1. Контейнер для распространения сжатых данных в AVIF полностью аналогичен HEIF. AVIF поддерживает как изображения в HDR (High Dynamic Range) и цветовом пространстве Wide-gamut, так и в стандартном динамическом диапазоне (SDR).
  • С целью предотвращения возможных проблем с производительностью приложениям запрещено запускать приоритетные сервисы (foreground service) во время работы в фоновом режиме, за исключением нескольких специальных случаев. Для запуска работ при нахождении в фоне рекомендовано использовать WorkManager. Для упрощения перехода предложен новый тип работ в JobScheduler, который запускается сразу, имеет повышенный приоритет и доступ к сети.
  • Предложен унифицированный API OnReceiveContentListener для вставки и перемещения между приложениями расширенных видов контента (отформатированного текста, изображений, видео, звуковых файлов и т.п.), используя различные источники поступления данных, включая буфер обмена, клавиатуру и интерфейс drag&drop.
  • Добавлен реализуемый при помощи встроенного в телефоны вибромотора эффект тактильной обратной связи, частота и интенсивность вибрации в котором зависят от параметров выводимого в текущий момент звука. Новый эффект позволяет физически ощущать звук и может применяться для придания дополнительной реалистичности играм и звуковым программам.
  • В режиме погружения (Immersive mode), в котором программа показывается на весь экран со скрытием служебных панелей, упрощена навигация при помощи управляющих жестов. Например, в программах чтения книг, просмотра видео и работы с фотографиями теперь можно перемещаться при помощи одного жеста смахивания.
  • Обновлено оформление интерфейса вывода уведомлений, который стал более простым и функциональным. Также обновлены и сделаны более плавными анимационные и переходные эффекты. К общему виду приведены уведомления с содержимым, заданным приложением.
  • Повышена отзывчивость и скорость реакции при работе с уведомлениями. Например, при касании пользователя к уведомлению теперь осуществляется мгновенный переход на связанное с ним приложение. В приложениях ограничено использование промежуточных обработчиков уведомлений (notification trampoline).
  • Проведена оптимизация IPC-вызовов в Binder. Благодаря применению новой стратегии кэширования и устранению конфликтов при блокировках удалось значительно сократить задержки. В общем виде производительность вызовов Binder увеличилась примерно в два раза, но в не которых областях удалось добиться ещё более существенного ускорения. Например, вызов refContentProvider() стал быстрее в 47 раз, releaseWakeLock() в 15 раз, а JobScheduler.schedule() в 7.9 раза.
  • В рамках проекта Mainline, позволяющего обновлять отдельные системные компоненты без обновления платформы целиком, подготовлены новые обновляемые системные модули в дополнение к 22 модулям, доступным в Android 11. Обновления затрагивают не привязанные к оборудованию компоненты, которые загружаются через Google Play отдельно от OTA-обновлений прошивки от производителя. Среди новых модулей, которые смогут обновляться через Google Play без обновления прошивки - ART (Android Runtime) и модуль для перкодирования видео.
  • Безопасность и конфиденциальность.
    • Разработчикам приложений предоставлена возможность отключить всплывающие окна с предупреждениями, перекрывающими содержимое. Ранее возможность вывода перекрывающих окон регулировалась запросом полномочий, подтверждаемых во время установки приложений, выводящих перекрывающие окна. Инструментов, позволяющих влиять на перекрытие контента из приложений, окна которых перекрываются, не было. При использовании вызова Window#setHideOverlayWindows() все перекрывающие содержимое окна теперь будут автоматически скрываться. Например, скрытие может включаться при выводе особо важной информации, такой как подтверждение транзакции.
    • Приложениям предоставлены дополнительные настройки для ограничений операций с уведомлениями во время блокировки экрана. Ранее лишь предоставлялась возможность управления видимостью уведомлений во время блокировки экрана, а теперь можно включить обязательную аутентификацию для совершения любых действий с уведомлениями во время блокировки экрана. Например, приложение для обмена сообщениями может потребовать выполнить аутентификацию перед удалением сообщения или пометкой прочитанным.
    • Добавлен API PackageManager.requestChecksums() для запроса и проверки контрольной суммы установленного приложения. Поддерживаются такие алгоритмы, как SHA256, SHA512 и Merkle Root.
    • В web-движке WebView реализована возможность использования атрибута SameSite для управления обработкой Cookie. Значение "SameSite=Lax" ограничивает отправку Cookie для межсайтовых субзапросов, таких как запрос изображения или загрузка контента через iframe с другого сайта. В режиме "SameSite=Strict" Cookie не отправляются для любых видов межсайтовых запросов, включая все входящие ссылки с внешних сайтов.
    • Продолжена работа над рандомизацией MAC-адресов для исключения возможности отслеживания устройства при подключении к беспроводной сети. Для непривилегированных приложений ограничен доступ к MAC-адресу устройства и при вызове функции getHardwareAddress() теперь возвращается пустое значение.

Существует бесчисленное количество операционных систем на основе открытого исходного кода Android (форков), в сообществе их называют «оболочки Android».