Сегодня мы(Гугл) выпускаем вторую бета-версию Android 16, продолжая работу над созданием платформы для творческого самовыражения. Вы можете подключить любое поддерживаемое устройство Pixel, чтобы получить это и последующие обновления Android Beta по воздуху.
В этой сборке добавлена новая поддержка профессиональных камер, графических эффектов, расширен каркас производительности, а также продолжается развитие функций, связанных с конфиденциальностью, безопасностью и фоновыми задачами. Мы с нетерпением ждем вашего мнения и заранее благодарим вас за помощь в превращении Android в платформу, которая работает для всех.
Обновления мультимедиа и камеры
В Android 16 улучшена поддержка профессиональных камер, появилась возможность гибридной автоматической экспозиции, а также точной настройки цветовой температуры и оттенков. Фотографировать движение стало еще проще благодаря новым действиям Intent, а также мы продолжаем совершенствовать изображения UltraHDR, поддерживая кодирование HEIC и новые параметры из проекта стандарта ISO 21496-1.
Гибридная автоэкспозиция
Android 16 добавляет в Camera2 новые гибридные режимы автоэкспозиции, позволяющие вручную управлять определенными аспектами экспозиции, позволяя алгоритму автоэкспозиции (AE) делать все остальное. Вы можете управлять ISO + AE, а также временем экспозиции + AE, что обеспечивает большую гибкость по сравнению с текущим подходом, когда вы либо полностью управляете вручную, либо полностью полагаетесь на автоэкспозицию.
Точная настройка цветовой температуры и оттенка
В Android 16 добавлена поддержка камеры для точной регулировки цветовой температуры и оттенка, чтобы лучше поддерживать профессиональные приложения для записи видео. В настоящее время настройки баланса белого контролируются с помощью CONTROL_AWB_MODE, который содержит опции, ограниченные списком предустановок, таких как «Накаливание», «Облачно» и «Сумерки». COLOR_CORRECTION_MODE_CCT позволяет использовать COLOR_CORRECTION_COLOR_TEMPERATURE и COLOR_CORRECTION_COLOR_TINT для точной настройки баланса белого на основе коррелированной цветовой температуры.
Действия захвата фотографии движения
В Android 16 добавлены стандартные действия намерения ACTION_MOTION_PHOTO_CAPTURE и ACTION_MOTION_PHOTO_CAPTURE_SECURE, которые запрашивают приложение камеры захватить фотографию движения и вернуть ее.
Android 16 продолжает нашу работу по обеспечению ослепительного качества изображений UltraHDR. В ней добавлена поддержка UltraHDR-изображений в формате файлов HEIC. Эти изображения получат тип ImageFormat HEIC_ULTRAHDR и будут содержать встроенную карту усиления, аналогичную существующему формату UltraHDR JPEG. Мы также работаем над поддержкой AVIF для UltraHDR, так что следите за новостями.
Кроме того, в Android 16 реализованы дополнительные параметры UltraHDR из проекта стандарта ISO 21496-1, включая возможность получения и установки цветового пространства, в котором должна применяться математика усиления, а также поддержка базовых изображений, закодированных в HDR, с SDR-картами усиления.
Пользовательские графические эффекты с помощью AGSL
В Android 16 добавлены RuntimeColorFilter и RuntimeXfermode, позволяющие создавать сложные эффекты, такие как порог, сепия и насыщенность оттенка, и применять их к вызовам рисования. Начиная с Android 13, вы можете использовать AGSL для создания пользовательских RuntimeShaders, которые расширяют шейдеры. Новый API повторяет это, добавляя AGSL-фильтр RuntimeColorFilter, расширяющий ColorFilters, и эффект Xfermode, позволяющий реализовать на основе AGSL пользовательский композитинг и смешивание исходных и конечных пикселей.
Изменения в поведении
С каждым выпуском Android мы стремимся сделать платформу более эффективной, конфиденциальной, дружественной к интернационализации и надежной, балансируя между потребностями приложений и поддержкой аппаратного обеспечения, производительностью системы, конфиденциальностью пользователей и временем автономной работы. Это может привести к изменениям в поведении, которые влияют на совместимость.
Отказ от использования «от края до края» исчезнет
В Android 15 для приложений, нацеленных на Android 15 (SDK 35), был реализован переход от края к краю, но ваше приложение могло отказаться от этого, установив для параметра R.attr#windowOptOutEdgeToEdgeEnforcement значение true. Как только ваше приложение перейдет на Android 16 (Baklava), R.attr#windowOptOutEdgeToEdgeEnforcement будет устаревшим и отключенным, и ваше приложение не сможет отказаться от перехода от края к краю. Чтобы обеспечить совместимость с Android 16 Beta 2, убедитесь, что ваше приложение поддерживает функцию edge-to-edge и удалите любое использование R.attr#windowOptOutEdgeToEdgeEnforcement. Для поддержки edge-to-edge см. руководство по Compose и Views. Пожалуйста, сообщите нам о проблемах в нашем трекере на странице обратной связи.
Здоровье и фитнес
Для приложений на Android 16 и выше разрешения BODY_SENSORS переходят к более детальным разрешениям в android.permissions.health, которые также используются в Health Connect. Любой API, ранее требовавший BODY_SENSORS или BODY_SENSORS_BACKGROUND, теперь будет требовать соответствующего разрешения android.permissions.health. Это затрагивает следующие типы данных, API и типы сервисов переднего плана:
HEART_RATE_BPM из сервиса Wear Health Services
Sensor.TYPE_HEART_RATE из Android Sensor Manager
heartRateAccuracy и heartRateBpm из Wear ProtoLayout
FOREGROUND_SERVICE_TYPE_HEALTH, где вместо BODY_SENSORS требуется соответствующее разрешение android.permission.health
Если ваше приложение использует эти API, теперь оно должно запрашивать соответствующие разрешения:
Для мониторинга частоты сердечных сокращений, SpO2 или температуры кожи во время использования запросите гранулярное разрешение в android.permissions.health, например READ_HEART_RATE вместо BODY_SENSORS.
Для доступа к датчикам в фоновом режиме запросите READ_HEALTH_DATA_IN_BACKGROUND вместо BODY_SENSORS_BACKGROUND.
Эти разрешения аналогичны тем, которые защищают доступ к чтению данных из Health Connect, хранилища данных Android для данных о здоровье, фитнесе и самочувствии.
Причина остановки заброшенных заданий
Заброшенное задание возникает, когда объект JobParameters, связанный с заданием, был собран, но функция jobFinished не была вызвана для сигнализации о завершении задания. Это указывает на то, что задание может быть запущено и перенесено на другое время без ведома приложения.
Приложения в Android 16, которые полагаются на JobScheduler, не поддерживая сильную ссылку на объект JobParameters, теперь будут получать новую причину остановки задания STOP_REASON_TIMEOUT_ABANDONED по истечении времени, вместо STOP_REASON_TIMEOUT.
Если новая причина останова будет встречаться часто, система предпримет меры по снижению частоты выполнения заданий. Пожалуйста, используйте новую причину остановки для обнаружения и сокращения количества оставленных заданий.
Режим совместимости со страницами размером 16 КБ
В Android 15 появилась поддержка страниц памяти размером 16 КБ для оптимизации производительности платформы. В Android 16 добавлен режим совместимости, позволяющий некоторым приложениям, созданным для страниц памяти размером 4 КБ, работать на устройствах, настроенных на страницы памяти размером 16 КБ.
Если Android обнаружит, что ваше приложение имеет страницы памяти, выровненные по 4 КБ, оно автоматически использует режим совместимости и покажет пользователю диалог уведомления. Установка свойства android:pageSizeCompat в AndroidManifest.xml для включения режима обратной совместимости предотвратит отображение диалога при запуске вашего приложения. Для лучшей производительности, надежности и стабильности ваше приложение должно быть выровнено по размеру на 16 КБ. Подробнее об этом читайте в нашей недавней статье в блоге об обновлении приложений для поддержки страниц памяти размером 16 КБ.
Работа с контентом
В Android 16 фреймворк живых обоев получит новый API для работы с контентом, чтобы решить проблемы динамических обоев, создаваемых пользователями. В настоящее время живые обои, содержащие пользовательский контент, требуют сложной реализации специфических сервисов. В Android 16 появились WallpaperDescription и WallpaperInstance. WallpaperDescription позволяет идентифицировать различные экземпляры живых обоев из одного и того же сервиса. Например, обои, которые есть на главном экране и на экране блокировки, могут иметь уникальное содержимое в обоих местах. Обои и WallpaperManager используют эти метаданные для лучшего представления обоев пользователям, упрощая процесс создания разнообразных и персонализированных живых обоев.
API-интерфейсы Headroom в ADPF
В SystemHealthManager появились API getCpuHeadroom и getGpuHeadroom, предназначенные для предоставления играм и ресурсоемким приложениям оценок доступных ресурсов CPU и GPU. Эти методы позволяют оценить, как ваше приложение или игра может наилучшим образом улучшить состояние системы, особенно при использовании в сочетании с другими API Android Dynamic Performance Framework (ADPF), которые обнаруживают тепловое дросселирование. Используя CpuHeadroomParams и GpuHeadroomParams на поддерживаемых устройствах, вы сможете настроить временной интервал, используемый для вычисления запаса прочности, и выбрать среднюю или минимальную доступность ресурсов. Это поможет вам соответственно снизить использование ресурсов CPU или GPU, что приведет к улучшению пользовательского опыта и увеличению времени автономной работы.
Два выпуска Android API в 2025 году
Эта предварительная версия предназначена для следующего крупного релиза Android, запуск которого запланирован на 2 квартал 2025 года, а в 4 квартале мы планируем выпустить еще один релиз с новыми API для разработчиков. Основной релиз Q2 будет единственным релизом в 2025 году, включающим изменения поведения, которые могут повлиять на приложения. Минорный выпуск в четвертом квартале будет содержать обновления функций, оптимизации и исправления ошибок; как и наши ежеквартальные выпуски, не относящиеся к SDK, он не будет содержать никаких намеренных изменений поведения, которые могут повлиять на приложения.
Мы продолжим выпускать ежеквартальные релизы Android. Обновления Q1 и Q3 обеспечивают постепенное обновление, чтобы гарантировать постоянное качество. Мы прилагаем дополнительные усилия для работы с нашими партнерами по производству устройств, чтобы выпустить релиз Q2 на как можно большем количестве устройств.
Требования к целевому уровню API и соответствующие даты для приложений в Google Play не меняются; мы планируем ежегодно вводить одно требование, привязанное к основному уровню API.
Как подготовиться
Помимо проведения тестирования на совместимость со следующим крупным выпуском, убедитесь, что вы компилируете свои приложения с новым SDK, и используйте фреймворк совместимости для включения изменений поведения с привязкой к targetSdkVersion по мере их появления для раннего тестирования.
Программа Android 16 Preview продлится с ноября 2024 года до финального публичного релиза во втором квартале 2025 года. На ключевых этапах разработки мы будем поставлять обновления для ваших сред разработки и тестирования. Каждое обновление включает в себя инструменты SDK, образы системы, эмуляторы, справочник API и различия API. В блогах и на сайте разработчиков Android 16 мы будем выделять критически важные API по мере их готовности к тестированию в рамках программы предварительной оценки.
Мы наметили март 2025 года в качестве вехи стабильности платформы. На этом этапе мы предоставим финальные API SDK/NDK, а также финальные внутренние API и системное поведение приложений. После этого у вас будет несколько месяцев до финального релиза, чтобы завершить тестирование. Узнайте больше, ознакомившись с графиком выпуска.
P.S. От себя добавлю, я уже установил Бету 2 на свой Пиксель 6 про, подробнее вы можете узнать в моём телеграмм канале.