24.04.2024

Второй предварительный выпуск Android 15

Компания Google представила вторую тестовую версию открытой мобильной платформы Android 15. Релиз Android 15 ожидается в третьем квартале 2024 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 6/6a/6 Pro, Pixel 7/7a/7 Pro, Pixel 8/8a/8 Pro, Pixel Fold и Pixel Tablet.

Изменения в Android 15 Developer Preview 2 по сравнению с первой предварительной версией:

  • Для приложений предоставлена возможность использована небольших вспомогательных экранов (Cover screen), которыми оснащаются некоторые складные смартфоны, такие как Samsung Galaxy Z Flip. Например, вспомогательный экран позволяет быстро принять звонок, ответить на сообщение, управлять камерой и выполнять другие действия без раскрытия устройства.
  • В виджете TextView по умолчанию включён атрибут elegantTextHeight, при котором вместо компактного шрифта будут использованы шрифты с более крупными вертикальными отступами, улучшающими читаемость текста.
  • Расширены возможности работы через спутниковые каналы связи. Добавлены новые элементы интерфейса для унификации использования спутниковой связи. Приложениям предоставлена возможность определения использования спутникового канала при помощи метода ServiceState.isUsingNonTerrestrialNetwork(). В интерфейсе для работы с
    SMS/MMS реализована поддержка отправки и приёма сообщений через спутниковые каналы.

  • Проведена работа по упрощению использования телефона с поддержкой NFC для оплаты товаров одним касанием (tap to pay). Приложениям предоставлена возможность перевода NFC-адаптера в режим наблюдения, при котором устройство принимает запросы по NFC и отправляет на обработку заданному процессу, но не отвечает и не предаёт данные NFC-ридерам.
  • Значительно расширены возможности для отрисовки PDF-документов (API PdfRenderer). Например, предоставлены средства для отрисовки защищённых паролем файлов, показа аннотаций, редактирования форм, поиска внутри документа и выделения областей для копирования через буфер обмена. Добавлены оптимизации, снижающие потребление ресурсов и ускоряющие просмотр локальных PDF-файлов. Реализация API PdfRenderer вынесена в отдельный модуль, обновляемый через Google Play и не привязанный к основной платформе.
  • Улучшены возможности для автоматического распознавания языка и переключения языков. Приложениям предоставлены расширенные опции для тонкой настройки переключения языков во время распознавания речи. Например, режим EXTRA_LANGUAGE_SWITCH_INITIAL_ACTIVE_DURATION_TIME_MILLIS допускает переключение только вначале звукового сеанса, а режим EXTRA_LANGUAGE_SWITCH_MATCH_SWITCHES отменяет переключение языка после определённого числа переключений, что может быть востребовано в ситуациях, когда заранее известно, что в одном сеансе будет использован только один язык.
  • Предоставлены средства для гибкого управления разрывом строк. В виджете TextView для улучшения читаемости при помощи тегов ‹nobreak› и ‹nohyphen› можно управлять переносом групп слов или частей слов на другую строку. Например в строке «The power and brains behind ‹nobreak›Pixel 8 Pro.‹/nobreak›» фраза «Pixel 8 Pro» будет всегда отображаться в одной строке.

  • Расширены возможности фильтрации intent-запросов. При помощи класса UriRelativeFilterGroup можно задавать правила для блокирования или пропускания запросов на основе содержимого параметров URL и фрагментов URL. Правила фильтрации также могут задаваться через новый тег ‹uri-relative-filter-group› в манифесте приложения.
  • Расширена поддержка API OpenJDK. Например, добавлена поддержка дополнительных методов классов Math и StrictMath, упорядоченных коллекций и списков, использования ByteBuffer в Deflater и обновления ключей.
  • Добавлен API, позволяющий приложениям определять выполнение записи экрана. Приложение может задать callback-обработчик, который будет вызван, в случае если включена запись экрана и окно приложения попадает в видимую область. Предложенная возможность позволяет показывать пользователю предупреждения о записи в случае отображения конфиденциальных данных.
  • Добавлен API ApplicationStartInfo, через который можно получить информацию о состоянии при запуске программы. Например, можно узнать прокэшированы ли компоненты приложения (состояния cold, warm или hot), как долго выполнялись разные стадии запуска, что послужило причиной запуска, а также определить метрики, полезные для оптимизации скорости запуска.
  • Изменена обработка остановленного состояния, при котором выполнение приложения приостанавливается до связанного с приложением действия пользователя. В новой версии предоставлены возможности для определения приложением прекращения приостановки: обработка сообщения BOOT_COMPLETED или использование метода ApplicationStartInfo.wasForceStopped().
  • Помимо метода StorageStats.getAppBytes(), позволяющего получить общие данные о размере установленного приложения, добавлен метод StorageStats.getAppBytesByDataType(), дающий возможность получить раздельные сведения о размере пакета APK, скопилированном коде, извлечённых и сгенерированных данных.
  • Внесены изменения в API запуска приоритетных сервисов (Foreground Service). Добавлен новый тип приоритетных сервисов — mediaProcessing, который можно использовать для ресурсоёмких операциях с мультимедийным содержимым, например, перекодирования из одного формата в другой.
  • Предложен новый API для работы с движком хранения на базе СУБД SQLite, предоставляющий доступ к расширенным возможностям SQLite.
  • Предоставлена возможность управления запасом яркости для HDR (отношение самого яркого белого цвета на HDR-изображении к яркости белого цвета в изображении в стандартном динамическом диапазоне). Для установки запаса яркости добавлен метод setDesiredHdrHeadroom, при помощи которого можно сбалансировать яркость при отображении содержимого в SDR и HDR.
  • Добавлена поддержка стандарта CTA-2075, определяющего возможности для нормализации громкости, позволяющие избежать изменения уровня громкости для разного контента. Согласование громкости достигается через определение метаданных о характеристиках громкоговорителей и громкости звукового AAC-контента. Для нормализации громкости предложен объект LoudnessCodecController и метод OnLoudnessCodecUpdateListener, корректирующий параметры громкости перед обращением к кодеку.
  • В AndroidX media3 ExoPlayer 1.0 включено по умолчанию использование пространственного звука для многоканального звука, если пространственный звук поддерживается на устройстве. Объявлен устаревшим класс Virtualizer, вместо которого для определения поведения и возможностей пространственного звука следует использовать класс Spatializer.
  • Добавлен класс AutomaticZenRules, позволяющий приложениям настроить правила применения режима «не беспокоить» и определить ситуации, когда эти правила должны применяться.

Источник: https://www.opennet.ru/opennews/art.shtml?num=60834 Источник.