Android 12 уже здесь: первая предварительная версия для разработчиков и множество изменений для разработчиков.

click fraud protection

Вышла предварительная версия Android 12 Developer Preview 1, которая принесет с собой массу изменений, к которым разработчики приложений должны следить и адаптировать свои приложения. Читай дальше!

Операционная система Android существует уже много лет и стала доминирующей ОС для мобильных устройств. Хотя Android как платформа с годами определенно повзрослела, всегда есть возможности для улучшения. И он будет улучшаться, поскольку Google сейчас выпускает первую версию своего следующего обновления. Андроид 12. Вышла предварительная версия Android 12 Developer Preview 1, в которой есть изменения, которые делают Android более интуитивно понятным, более производительным и более безопасным.

Прежде чем мы двинемся дальше, вот что необходимо повторить: эта предварительная версия для разработчиков, как следует из названия, предназначена только для разработчиков, чтобы они могли опробовать будущую ОС и протестировать свои приложения, чтобы адаптироваться к предстоящим изменениям. представил. Это означает, что это очень черновая версия ОС, как и предполагалось, но Google будет дорабатывать ее с учетом отзывов разработчиков в течение следующих нескольких месяцев. Если вы обычный пользователь, обновление Android 12 для вас выйдет не раньше второй половины года. А до тех пор мы рекомендуем вам воздержаться от прошивки сборок на свой телефон и просто прочитать нашу статью, чтобы быть в курсе всех изменений, которые появятся в Android!

Android 12 создается с учетом требований конфиденциальности, лучшего взаимодействия с пользователем и лучшей производительности. В версии Developer Preview 1 представлены:

  • Доверие и безопасность
    • Современное поведение файлов cookie SameSite в WebView
    • Ограниченный MAC-адрес Netlink
    • Безопасный экспорт компонентов
    • Более безопасная обработка намерений
  • Улучшенные инструменты взаимодействия с пользователем
    • Совместимое транскодирование мультимедиа
    • Поддержка изображений AVIF
    • Оптимизация служб переднего плана
    • Вставка богатого контента
    • Звуковой эффект с тактильной связью
    • Многоканальный звук
    • Улучшения режима погружения для навигации с помощью жестов.
    • Обновления пользовательского интерфейса уведомлений
    • Более быстрые и отзывчивые уведомления
    • Улучшены вызовы Binder IPC.
  • Совместимость приложений
    • Обновления системы Project Mainline/Google Play: ART и многое другое
    • Оптимизация для планшетов, складных устройств и телевизоров.
    • Обновлены списки интерфейсов, отличных от SDK.
    • Упрощенное тестирование и отладка изменений.
    • Этап стабильности платформы
  • Как загрузить и Как установить Андроид 12 Предварительный просмотр разработчика 1

Google надеется предоставить пользователям больше прозрачности и контроля, сохраняя при этом безопасность устройств Android. В Android 12 появились новые элементы управления идентификаторами, которые можно использовать для отслеживания, более безопасные настройки по умолчанию для компонентов приложения и многое другое.

Современное поведение файлов cookie SameSite в WebView

WebView обновляется, чтобы привести его в соответствие с изменения в Google Chrome и других браузерах в отношении поведения файлов cookie SameSite. Это обеспечит дополнительную безопасность и конфиденциальность, а также даст пользователям больше прозрачности и контроля над использованием файлов cookie на разных сайтах.

Google хочет, чтобы разработчики перешли на сбрасываемые идентификаторы, защищающие конфиденциальность. С этой целью компания предприняла несколько выпусков, чтобы облегчить миграцию Netlink MAC на уровне устройства. В Android 11 доступ к Netlink MAC на уровне устройства ограничен до уровня API 30, а в Android 12 ограничение применяется ко всем приложениям, независимо от уровня целевого SDK.

Безопасный экспорт компонентов

Приложения в предыдущих версиях Android могут непреднамеренно экспортировать действия, услуги и получателей. Google меняет стандартную обработку андроид; экспортировано атрибут будет более явным в Android 12. В Android 12 компоненты, объявляющие один или несколько фильтров намерений, теперь должны явно объявлять андроид; экспортировано атрибут. Google советует разработчикам проверять свои компоненты в манифесте, чтобы избежать ошибок при установке, связанных с изменением.

Более безопасная обработка намерений

Android 12 требует, чтобы приложения явно объявляли флаг изменчивости. ФЛАГ_MUTABLE или новый ФЛАГ_ИММУТАБЛЬ, для каждого PendingIntent. Это должно сделать обработку PendingIntents более безопасной.


Ни одно обновление не будет полным без доработки пользовательского опыта, и Android 12 не является исключением.

Большинство мобильных устройств в наши дни оснащены аппаратным кодированием H.265/HEVC, что позволяет приложениям камеры захватывать в формате HEVC, поскольку он предлагает значительные улучшения качества и сжатия по сравнению с предыдущими версиями. кодеки. Большинство приложений поддерживают HEVC, но есть и такие, которые его не поддерживают. Для этих приложений Google представляет совместимое перекодирование мультимедиа с Android 12.

Благодаря этой функции приложение, не поддерживающее HEVC, может автоматически перекодировать файл в формат H.264/AVC, формат, который обеспечивает гораздо более широкую совместимость. Как и следовало ожидать, процесс перекодирования займет некоторое время в зависимости от видео и аппаратных свойств смартфона. Google приводит пример Pixel 4 (Snapdragon 855), которому требуется около 9 секунд для перекодирования 1-минутного видео с разрешением 1080p и частотой 30 кадров в секунду.

Разработчики могут согласиться на использование службы перекодирования, просто указав форматы мультимедиа, которые их приложение не поддерживает. Google настоятельно рекомендует, чтобы приложения в первую очередь поддерживали HEVC, но если это невозможно, разработчик должен включить совместимое перекодирование мультимедиа. Эта функция будет активна на всех устройствах, использующих формат HEVC для захвата видео.

Поддержка изображений AVIF

В Android 12 представлена ​​поддержка платформы формата файлов изображений AV1, обеспечивающая более высокое качество изображения и более эффективное сжатие. AVIF — это формат контейнера для изображений и последовательностей изображений, закодированных с помощью АВ1. AVIF использует преимущества внутрикадрового кодирования контента при сжатии видео, значительно улучшая качество изображения при том же размере файла по сравнению со старыми форматами изображений, такими как JPEG.

Слева: AVIF (18,2 КБ). Справа: JPEG (20,7 КБ). Кредиты: Сравнение изображений из AVIF приземлился Джейк Арчибальд

Оптимизация служб переднего плана

Служба переднего плана — это служба, которая выполняет некоторую операцию, заметную для пользователя, например аудиоприложение, воспроизводящее звуковую дорожку и, таким образом, использующее службу переднего плана. Эти службы являются для приложений важным способом управления определенными типами задач, с которыми сталкивается пользователь. Но когда ими злоупотребляют, это может повлиять на производительность и даже привести к закрытию приложений.

Ссылаясь на улучшение пользовательского опыта, Google будет блокировать запуск приоритетных служб из фона для приложений, ориентированных на новую платформу. А чтобы разработчикам было проще отказаться от этого шаблона запуска, в Android 12 появилась новая ускоренная задача: JobScheduler, который получает повышенный приоритет процесса, доступ к сети и запускается немедленно независимо от ограничений по питанию, таких как батарея. Saver или Doze. Для обеспечения обратной совместимости Google также встроил ускоренные задания в последнюю версию библиотеки Jetpack WorkManager. Кроме того, Google также задерживает отображение некоторых уведомлений служб переднего плана на срок до 10 секунд. Это дает краткосрочным задачам возможность завершиться до того, как будут показаны их уведомления, что снижает отвлечение пользователей.

Вставка богатого контента

Мы уже давно перешли черту, когда наше общение по телефону основывалось только на простом голосе и тексте. Большая часть общения в наши дни является неполной без сопровождающих изображений (читай: мемов), видео и другого выразительного контента (читай: гифок-реакций). Однако вставлять и перемещать эти богатые типы контента внутри и между приложениями непросто.

Чтобы приложениям было проще получать богатый контент, Google представляет новый унифицированный API, который позволяет им принимать контент из любого источника: буфера обмена, клавиатуры или перетаскивания. Разработчики могут подключить новый интерфейс под названием Слушатель OnReceiveContentListener к компонентам пользовательского интерфейса и получать обратный вызов при вставке контента с помощью любого механизма. Следовательно, этот обратный вызов становится единственным местом кода приложения для обработки вставки всех типы контента, будь то обычный текст, стилизованный текст, разметка, изображения, видео или аудиофайлы, а также вне.

Для обеспечения обратной совместимости Google добавила в Androidx унифицированный API.

Звуковой эффект с тактильной связью

В Android 12 приложения могут обеспечивать тактильную обратную связь с аудиосвязью через вибратор телефона. Кроме того, сила и частота вибрации определяются на основе аудиосессии, что позволяет разработчикам создавать более захватывающие впечатления от игры и звука. Например, приложения для звонков могут использовать собственные мелодии звонка для идентификации звонящих посредством тактильной обратной связи, а игры могут имитировать пересеченную местность в гоночной игре. Здесь есть довольно много возможностей для изучения.

Многоканальное аудио

Android 12 включает в себя несколько улучшений для звука с пространственной информацией. Он добавляет поддержку MPEG-H воспроизведение в режиме passthrough и offload. Аудиомикшеры, ресэмплеры и эффекты оптимизированы для поддержки до 24 каналов (предыдущий максимум составлял 8 на Android 11).

Улучшения режима погружения для навигации с помощью жестов.

Android 12 принес с собой изменения, которые на первый взгляд кажутся очень важными. В полноэкранном режиме или в приложениях с эффектом погружения Android 12 по умолчанию позволит пользователям перемещаться по своим телефонам одним пролистыванием. ОС по-прежнему будет защищать приложения от случайных жестов в полноэкранном режиме. Мы воспользуемся предварительной версией для разработчиков, чтобы точно выяснить, что именно изменилось, поскольку формулировка не полностью отражает изменения.

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

Как вы, возможно, уже заметили в слили скриншоты Android 12, уведомления будут немного доработаны, чтобы сделать их более современными, простыми в использовании и более функциональными. Google упоминает, что в ящике и элементах управления есть изменения в самих шаблонах. Переходы и анимация также оптимизируются, чтобы сделать их более плавными. Приложения, предназначенные для Android 12, также будут иметь доступ к уведомлениям с настраиваемым содержимым, значком и другими изменениями, соответствующими всем остальным уведомлениям. Мы будем более внимательно следить за изменениями в нашем практическом опыте.

Более быстрые и отзывчивые уведомления

Уведомления должны предлагать четкий и быстрый путь к определенному разделу приложения. По этой причине разработчикам необходимо убедиться, что нажатия на уведомления запускают действие напрямую, а не с помощью промежуточный приемник широковещательной передачи или службу для запуска действия (подход, который Google называет уведомлением). Батут). Батуты уведомлений могут вызывать значительные задержки и влиять на взаимодействие с пользователем, поэтому Android 12 заблокирует эти батуты уведомлений, не позволяя им запускать свою цель. Деятельность. Google просит разработчиков отказаться от такой практики. Это изменение применяется только к приложениям, ориентированным на новую платформу, но для всех приложений Google будет отображать всплывающее уведомление, чтобы батуты были видны разработчику и пользователям.

Улучшены вызовы Binder IPC.

Google сосредоточил усилия на уменьшении изменчивости системы, оптимизировав задержку и распределение рабочей нагрузки, которые снижают медианный опыт для 99% процентильных случаев использования. Это привело к улучшению вызовов системных связывателей, добавлению упрощенных стратегий кэширования и сосредоточению усилий на устранении конфликтов блокировок для улучшения распределения задержек. Google утверждает, что это привело к увеличению производительности вызовов Binder примерно в 2 раза в целом, при этом были отмечены значительные улучшения в конкретных вызовах, таких как refContentProvider() (улучшение в 47 раз), релизWakeLock() (улучшение в 15 раз) и JobScheduler.schedule() (улучшение в 7,9 раз).


Совместимость приложений в Android 12

В этом разделе Google рассказывает о том, как сделать обновления более быстрыми и удобными как для разработчиков, так и для пользователей. Изменения в приложениях вносятся добровольно, чтобы дать разработчикам больше времени для адаптации к новой платформе.

Обновления системы Project Mainline/Google Play: ART и многое другое

Как мы выяснили еще в прошлом годуGoogle переводит ART в модуль Project Mainline. Это позволит Google улучшить производительность и правильность выполнения, более эффективно управлять ядром памяти и ускорить операции Kotlin — и все это без необходимости полного обновления системы.

Кроме того, некоторые функции, упомянутые в этой новости, также предоставляются через Project Mainline. Например, функция плавного перекодирования реализуется через обновляемый модуль, что указывает на то, что это вполне может быть будущим для Android.

Оптимизация для планшетов, складных устройств и телевизоров

Google также выпускает первую предварительную версию Android 12 для Android TV. Благодаря этому вы не только получите на телевизоре новейшие функции Android, но и сможете протестировать его на новом устройстве. Гугл ТВ опыт.

Обновлены списки интерфейсов, отличных от SDK.

В этом выпуске Google имеет ограничены дополнительные интерфейсы, не относящиеся к SDK.

Упрощенное тестирование и отладка изменений.

Представленный в Android 11, Google позволяет упростить тестирование и отладку изменений с помощью переключателей для изменений, представленных индивидуально в параметрах разработчика или через ADB.

Этап стабильности платформы

Как и в прошлом году, Google планирует достичь в этом выпуске рубежа стабильности платформы, чтобы дать разработчикам возможность получить конкретные сведения. знания об окончательной версии API SDK/NDK, а также всех окончательных внутренних API и поведении систем, ориентированных на приложения, которые им необходимы для подготовки своих приложение для. Google рассчитывает достичь стабильности платформы Android 12 к августу 2021 года.


Загрузите и установите Android 12 Developer Preview 1

Вы можете легко загрузите последнюю версию Android 12 Developer Preview по ссылкам, представленным в нашей специальной статье, которая также будет дополнена ссылками для скачивания для будущих выпусков.

Google официально выпускает это предварительное обновление для разработчиков для:

  • Пиксель 5
  • Пиксель 4а 5G
  • Пиксель 4а
  • Пиксель 4
  • Пиксель 4XL
  • Пиксель 3а
  • Пиксель 3а XL
  • Пиксель 3
  • Пиксель 3XL

Далее, мы имеем инструкции по установке доступны для Android 12 Developer Preview 1 для обычных способов установки, таких как Recovery, ADB и Fastboot для вышеупомянутых устройств Pixel, а также через GSI для всех других устройств, совместимых с Project Treble.