Что нового в Android 12 Beta

Что нового в Android 12 Beta

Наиль Садыков

Сегодня на Google I/O мы представили первую бета-версию Android 12, одного из наших самых амбициозных релизов за всю историю. Мы сосредоточились на новом пользовательском интерфейсе, повышении производительности, а также на конфиденциальности и безопасности. Разработчикам мы даем больше инструментов для создания восхитительного пользовательского опыта на телефонах, ноутбуках, планшетах, носимых устройствах, телевизорах и автомобилях.

В Beta 1 есть много интересного, начиная с самого значительного обновления пользовательского интерфейса Android, созданного с помощью языка дизайна, который мы называем Material You. Также можно попробовать новые функции конфиденциальности, такие как приблизительное местоположение, и новый стандарт под названием Performance Class, позволяющий приложениям и пользователям определять высокопроизводительные устройства.

Попробуйте Android 12 Beta сегодня на устройствах Pixel, зарегистрировавшись здесь. Благодаря нашим партнерам - производителям устройств, которые работают над ускорением обновлений, теперь вы можете получить бета-версию и на других устройствах, включая некоторые устройства от ASUS, OnePlus, Oppo, Realme, Sharp, TCL, Transsion, Vivo, Xiaomi и ZTE, и еще несколько на подходе. Посетите сайт android.com/beta, чтобы узнать больше.

Читайте далее о нововведениях и посетите сайт разработчиков Android 12 для получения подробной информации обо всех нововведениях в Android 12 и о том, как начать разработку.

Новый пользовательский интерфейс для Android

Как мы подчеркнули в нашем блоге для потребителей, Android 12 привносит самые большие изменения в дизайн за всю историю Android. Мы переосмыслили весь опыт, от цветов до форм, света и движения, сделав Android 12 более выразительным, динамичным и индивидуальным. Эта работа ведется в тесном сотрудничестве между нашими командами разработчиков программного обеспечения, аппаратного обеспечения и Material Design, и мы объединяем наши программные и аппаратные экосистемы под единым языком дизайна под названием Material You.

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

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

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

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

Производительность

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

Более быстрая и эффективная работа системы - Мы сократили время работы процессора, необходимое для основных системных служб, на 22%, поэтому устройства будут работать быстрее и отзывчивее. Мы также улучшили энергоэффективность Android, сократив использование больших ядер системным сервером на 15%, чтобы помочь устройствам работать дольше прежде, чем потребуется зарядка.

Мы улучшили время переходов и запуска приложений за счет снижения lock contention и изменчивости задержек, а также оптимизировали I/O для ускорения загрузки приложений. В PackageManager snapshot, доступный только для чтения, снизил lock contention на 92%. В Binder легковесное кэширование радикально сократило задержки до 47 раз в целевых вызовах. В I/O мы ускорили файлы dex/odex/vdex, чтобы улучшить время загрузки приложений, особенно на телефонах с малым объемом памяти. Наше ограничение на "батуты" уведомлений (trampolines) также помогает уменьшить задержку для приложений, запускаемых из уведомления. Например, приложение Google Фото теперь запускается на 34% быстрее после отказа от "батутных" уведомлений. Для повышения производительности запросов к базе данных мы оптимизировали CursorWindow путем встраивания результатов в транзакции Binder. Для небольших окон CursorWindow работает на 36% быстрее, а для окон более 1000 строк улучшение достигает 49 раз.

Класс производительности - Начиная с Android 12 и работая вместе с нашими партнерами по экосистеме, мы вводим общий стандарт для высокопроизводительных устройств Android. Этот стандарт, называемый performance class, определяет набор возможностей, выходящих за рамки базовых требований Android. Устройства, отвечающие требованиям класса производительности, могут поддерживать более сложные сценарии использования и передавать контент более высокого качества. Разработчики могут проверять класс производительности в runtime и затем уверенно предоставлять расширенные возможности, которые в полной мере используют производительность устройства.

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

Конфиденциальность согласованная с дизайном

Конфиденциальность лежит в основе всего, что мы делаем, и в Android 12 мы продолжаем предоставлять людям больше прозрачности и контроля, обеспечивая при этом безопасность их устройств и данных. Сегодня мы объявили о нескольких новых функциях конфиденциальности, которые появятся в Beta 2 - Privacy Dashboard, индикаторы использования микрофона и камеры, а также переключатели микрофона и камеры. Следите за новостями об этих функциях. Вот что нового в версии Beta 1.

Гибернация приложений - В прошлом году мы запустили функцию автоматического отзыва разрешений, и за последние две недели Android отозвал разрешения для более чем 8,5 миллионов приложений, которые не использовались - таким образом, приложения, о которых люди забыли, по-прежнему не могут получить доступ к их данным. В Android 12 мы расширяем возможности автоматического отзыва разрешений за счет интеллектуального перехода приложений, которые не используются в течение длительного времени, в режим гибернации, что оптимизирует хранилище, производительность и безопасность устройства. Гибернация не только отзывает разрешения, предоставленные ранее пользователем, но и принудительно останавливает приложение и освобождает память, хранилище и другие временные ресурсы. В этом состоянии система также не позволяет приложениям выполнять задания в фоновом режиме или получать push-уведомления, что помогает обеспечить безопасность пользователей. Гибернация должна быть открытой для большинства приложений, но при необходимости вы можете направить пользователей в Настройки, чтобы отключить эту функцию для вашего приложения. Подробнее здесь.

Разрешения на использование устройств поблизости - Ранее, сканирование Bluetooth требовало от приложений разрешения на определение местоположения, что было проблемой для приложений, которым требовалось сопряжение с близлежащими устройствами, но не требовалось определение местоположения устройства. Теперь мы позволяем приложениям сканировать близлежащие устройства, не требуя разрешения на определение местоположения. Приложения, предназначенные для Android 12, могут осуществлять сканирование с помощью нового разрешения BLUETOOTH_SCAN с атрибутом usesPermissionFlags="neverForLocation".  После сопряжения с устройством используйте разрешение BLUETOOTH_CONNECT для взаимодействия с ним. Эти разрешения способствуют разработке приложений с учетом конфиденциальности и уменьшают ограничения для приложений. Подробнее здесь.

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

Если ваше приложение запрашивает точные данные о местоположении (ACCESS_FINE_LOCATION), имейте в виду эти изменения и убедитесь, что ваше приложение функционирует правильно при использовании только приблизительного местоположения. Почти для всех общих случаев использования местоположения мы рекомендуем запрашивать только приблизительное местоположение (ACCESS_COARSE_LOCATION). Подробнее здесь.

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

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

Чтобы проверить совместимость, установите опубликованное приложение из Google Play или другого источника на устройство или эмулятор под управлением Android 12 Beta и проработайте все потоки приложения. Проанализируйте изменения в поведении, чтобы сосредоточиться на тестировании. После устранения всех проблем опубликуйте обновление как можно скорее.

С выходом Beta мы приближаемся к Стабильности Платформы в августе 2021 года. Начиная с этого момента, будет завершена работа над моделями поведения систем, обращенных к приложениям, API SDK/NDK и списками, не относящимися к SDK. К этому времени вы сможете завершить финальное тестирование совместимости и выпустить полностью совместимую версию вашего приложения, SDK или библиотеки. Более подробная информация о сроках для разработчиков находится здесь.

Начните работу с Android 12!

В сегодняшнем бета-релизе есть все необходимое, чтобы опробовать функции Android 12, протестировать свои приложения и оставить нам отзывы. Просто зарегистрируйте любое поддерживаемое устройство Pixel здесь, чтобы получить обновление по воздуху. Если вы уже установили предварительную сборку, вы будете автоматически получать обновления Beta. Чтобы начать разработку, установите SDK.

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

Для еще более широкого тестирования на поддерживаемых устройствах попробуйте Android 12 Beta на образах Android GSI, а если у вас нет устройства, вы можете протестировать на эмуляторе Android - просто загрузите последние системные образы эмулятора через SDK Manager в Android Studio.

Полную информацию о том, как получить бета-версию, можно найти на сайте разработчиков Android 12.


Перевод записи в Android Developers Blog опубликованой Дейвом Берком, вице-президентом по инженерным вопросам.
Специально для Телеграм -канала Google Pixels.

Report Page