Компания Google выпустила вторую предварительную версию Android 16 для разработчиков, предлагающую расширенный обзор предстоящих функций, улучшений и изменений, чтобы дать разработчикам достаточно времени для адаптации.
Последняя версия нацелена на улучшение работы приложений, увеличение времени автономной работы, повышение производительности и минимизацию проблем совместимости.
Вот что ожидается в Android 16 Developer Preview 2 (DP2):
Улучшение производительности и инструменты отладки
Профилирование, запускаемое системой: Расширяя возможности ProfilingManager, представленного в Android 15, профилирование, запускаемое системой, помогает разработчикам отслеживать такие сложные сценарии, как запуск или проблемы «Приложение не отвечает» (ANR). Используя ProfilingManager#addProfilingTriggers(), приложения теперь могут зарегистрироваться для получения диагностических данных об этих потоках.
Интроспекция заданий: В Android 16 появился API JobScheduler#getPendingJobReasons(int jobId), который позволяет узнать, почему задание находится в ожидании, включая явные ограничения, установленные разработчиком, и ограничения, определяемые системой. Новый API JobScheduler#getPendingJobReasonsHistory(int jobId) также позволяет отслеживать изменения ограничений во времени. Эти инструменты позволяют разработчикам диагностировать проблемы с задержками и повышать надежность выполнения заданий.
Оптимизация выполнения заданий: Android 16 регулирует квоты на выполнение заданий в зависимости от состояния приложения и контекста выполнения заданий, например, видимости для пользователей или параллельности с сервисами переднего плана. Разработчикам рекомендуется использовать инициируемые пользователем методы передачи данных для длительных операций, чтобы эффективно использовать новые квоты.
Улучшения адаптивной частоты обновления: Улучшения в адаптивной частоте обновления (ARR), которая была представлена в Android 15, направлены на оптимизацию отображения контента при снижении энергопотребления. Новые API, такие как hasArrSupport() и getSuggestedFrameRate(int), упрощают использование ARR для разработчиков. Также был обновлен RecyclerView 1.4 для внутренней поддержки ARR во время плавной прокрутки и перелистывания.
Новые и улучшенные API
Более богатые тактильные ощущения: В Android 16 разработчики получили более глубокий контроль над тактильными ощущениями устройства. Новые API позволяют определять амплитудные и частотные кривые для тактильной отдачи, абстрагируя различия между возможностями устройств для более динамичных ощущений.
Информация о запуске приложений: На основе ApplicationStartInfo, представленного в Android 15, добавление функции getStartComponent() в Android 16 позволяет разработчикам определить, какой компонент вызвал запуск приложения, что открывает путь к оптимизации последовательности запуска.
Обновления Health Connect: Разработчики получили доступ к новому типу данных ACTIVITY_INTENSITY, соответствующему рекомендациям Всемирной организации здравоохранения по умеренной или энергичной активности. Обновленные API также поддерживают записи о состоянии здоровья в формате FHIR с надлежащим согласием пользователя, что позволяет приложениям считывать и записывать медицинские данные.
Предсказуемые анимации спины: Улучшения в предсказании жестов назад открывают разработчикам больше возможностей для управления. Регистрируя обратные вызовы, такие как новые функции finishAndRemoveTaskCallback() и moveTaskToBackCallback(), можно запускать определенные действия приложения, а также адаптированную анимацию.
Wi-Fi Ranging с повышенной безопасностью: Android 16 поддерживает 802.11az, протокол Wi-Fi 6, который повышает уровень безопасности при использовании бесконтактных устройств, например при разблокировке. В протокол интегрированы такие меры безопасности, как шифрование AES-256, обеспечивающее надежную защиту от атак типа «человек посередине».
Облачный поиск в подборщике фотографий: подборщик фотографий теперь включает API, позволяющие осуществлять облачный поиск изображений на разных платформах. Эта функция поиска, предназначенная для безопасного предоставления доступа к определенным медиафайлам, будет внедрена в ближайшее время.
Утраты в Android 16 и изменения в поведении
Устранение разрушительных объявлений о доступности: Объявления о доступности с помощью функций announceForAccessibility() и TYPE_ANNOUNCEMENT AccessibilityEvents были отменены. Google рекомендует разработчикам использовать альтернативные методы, такие как setAccessibilityLiveRegion(int) для динамических обновлений или setError(CharSequence) для сообщений об ошибках.
Завершено обесценивание JobInfo: Давняя депривация метода JobInfo.Builder#setImportantWhileForeground(boolean) теперь полностью вступила в силу в Android 16. Вызовы метода будут игнорироваться, а JobInfo#isImportantWhileForeground() будет неизменно возвращать false.
Переход к предсказуемости в обновлениях Android
В предварительном обзоре освещается новый график выпуска двух версий Android API, запланированный Google на 2025 год:
- Крупный релиз во II квартале 2025 года: В нем будут представлены новые API и запланированные изменения в поведении приложений.
- Незначительный релиз в 4 квартале 2025 года: Он будет посвящен оптимизации Android, исправлению ошибок и обновлению функций без изменений, влияющих на поведение.
Чтобы обеспечить постоянное качество, между этими выпусками в 1 и 3 кварталах будут выходить инкрементные обновления.
Подготовка приложений для Android 16
Разработчикам рекомендуется как можно раньше начать компиляцию приложений с новым SDK и тестирование на совместимость. Программа предварительной оценки Android 16 продлится с ноября 2024 года до конца первого квартала 2025 года, а финальный релиз запланирован на март 2025 года, вскоре после достижения рубежа стабильности платформы.
Google рекомендует разработчикам тестировать свои приложения в рамках программы совместимости и сообщать о любых проблемах для их устранения. По мере приближения к стабилизации платформы будет несколько месяцев для завершения тестирования перед официальным запуском.
Для установки Android 16 Developer Preview 2 требуется прошивка образа системы, а для тех, кто использует Developer Preview 1, доступны обновления по воздуху. Разработчики, уже участвующие в бета-версии Android 15 QPR2, могут перейти на Android 16 DP2 и оценить изменения, не стирая свои устройства.