Google выпустила мобильную платформу Android 13

41c9185797fbb339e25dca94a533512c.png

Google выпустила релиз открытой мобильной платформы Android 13. Исходные тексты выложили в Git-репозиторий проекта (ветка android-13.0.0_r1). Пока обновления подготовили для собственных устройств серии Pixel, а позднее их выпустят для Samsung, Asus, Nokia, iQOO, Motorola, OnePlus, Oppo, Realme, Sharp, Sony, Tecno, Vivo и Xiaomi. 

Также сформированы универсальные сборки GSI для разных устройств на базе архитектур ARM64 и x86_64.

добавлен запрос полномочий на вывод уведомлений приложениями;

снизилось число приложений, требующих доступа к информации о местоположении пользователя;

повысилась конфиденциальность и степень информирования пользователя о возможных рисках. Истории помещения данных в буфер обмена после определённого времени неактивности будут удаляться автоматически;

добавлена унифицированная страница с настройками безопасности и конфиденциальности с наглядной цветовой индикацией состояния безопасности;

добавлен новый тип полномочий для Wi-Fi. Он предоставляет приложениям для поиска беспроводных сетей доступ к подмножеству API управления Wi-Fi, за исключением вызовов, связанных определением местоположения;

внедрён API для размещения кнопок в секции с быстрыми настройками в верхней части выпадающей панели уведомлений. Теперь приложение может вывести запрос на размещение своей кнопки с быстрым действием;

оптимизирована операция переноса слов с использованием дефиса. В новой версии производительность переноса увеличена на 200% и практически не влияет на скорость отрисовки;

добавлена поддержка программируемых графических шейдеров (объектов RuntimeShader), определяемых на языке AGSL (Android Graphics Shading Language). Они используются для реализации различных визуальных эффектов, таких как пульсация, размытие и растягивание при прокрутке за границу страницы. Эти эффекты теперь можно создавать и в приложениях;

базовые Java-библиотеки платформы и средства разработки приложений обновили до OpenJDK 11;

в рамках проекта Mainline подготовлены новые обновляемые системные модули (Bluetooth и Ultra wideband). Обновления затрагивают не привязанные к оборудованию компоненты, которые загружаются через Google Play отдельно от OTA-обновлений прошивки от производителя. Через Google Play также распространяются модули с Photo picker и OpenJDK 11;

упрощено тестирование и отладка новых возможностей платформы — изменения теперь можно выборочно включать для приложений в разделе настроек для разработчиков или через утилиту adb;

внедрён API, позволяющий приложению отказаться от ранее полученных полномочий;

появилась возможность регистрации обработчиков несистемных широковещательных операций (BroadcastReceiver) в привязке к контексту их использования. Добавлены новые флаги RECEIVER_EXPORTED и RECEIVER_NOT_EXPORTED, которые позволяют исключить использование обработчиков для отправки широковещательных сообщений из других приложений;

добавлена поддержка цветных векторных шрифтов в формате COLRv1 и новый набор многоцветных emoji, поставляемый в формате COLRv1;

в среде выполнения приложений ART реализован более эффективный сборщик мусора на API ядра Linux userfaultfd, который позволяет создавать обработчики обращений к невыделенным страницам памяти (page faults) в пространстве пользователя;

в ART повысилась производительность переключения на нативный код и наоборот. JNI-вызовы теперь выполняются до 2,5 раз быстрее. Код обработки ссылок во время выполнения переведён на работу в неблокирующем режиме для сокращения подвисаний. Добавлен API Reference.refersTo (), который можно использовать для более быстрого возвращения памяти. В интерпретаторе ускорен поиск классов и методов. Добавлена возможность верификации байткода на этапе установки;

появилась поддержка технологии Bluetooth LE Audio (Low Energy) для снижения энергопотребления при передаче через Bluetooth;

через порт USB добавлена поддержка спецификации MIDI 2.0 и возможность подключения музыкальных инструментов и контроллеров, поддерживающих MIDI 2.0;

для приложений, генерирующих ключи, API Keystore и KeyMint теперь предоставляют более детальные и точные индикаторы ошибок и позволяют использовать исключения java.security.ProviderException для перехвата ошибок;

в AudioManager добавлен API для маршрутизации звука, позволяющий определить способ обработки звукового потока. Добавлен метод getAudioDevicesForAttributes () для получения списка устройств, в через которые возможен вывод звука, а также метод getDirectProfilesForAttributes () для определения возможности прямого воспроизведения звуковых потоков.

© Habrahabr.ru