Статьи Android 11
Post
Cancel

Android 11

demo header

Дата выхода: предварительная версия выпущена 19 февраля 2020 года, релиз - 8 сентября 2020 года.
API: 30.
Сладкое название: Red Velvet Cake (торт «Красный бархат»).


Визуальные изменения

  • Улучшена поддержка нестандартных дисплеев (pinhole - экраны с разными формами вырезов, waterfall - экран обтекает края устройства, устройства со сгибающимися складными экранами).

  • Добавлен новый раздел в уведомления - Conversations. Идея в том, чтобы пользователи быстрее находили текущие диалоги из приложений для обмена сообщениями и могли на них реагировать:
    • добавить в Bublles (если приложение их поддерживает);
    • создать для этого диалога ярлык на рабочем столе;
    • отложить уведомления для этого диалога;
    • отметить диалог как “важный”.
  • Bublles. Каждый диалог можно свернуть в “пузырёк”, который будет отображаться на экране поверх остальных приложений, а при клике - открывать окно с диалогом.

  • Видеозапись экрана.

  • Визуальные индикаторы для 5G.

Конфиденциальность и безопасность

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

  • Обновлена биометрическая аутентификация, а именно добавлен интерфейс, который позволяет указать тип аутентификации - Strong, Weak, Device credential.

  • Добавлен API BlobStoreManager для безопасного обмена бинарными данными между приложениями.


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

  • Беспроводная отладка приложений.

  • В ADB добавлен инкрементальный режим установки APK-пакетов. Цель - ускорить установку больших (2гб+) приложений в процессе их разработки. Сначала будут устанавливаться данные, необходимые для запуска приложения, а все остальное догружаться в фоне.

  • Добавлен GWP-ASan - анализатор памяти, который позволяет находить и исправлять проблемы, вызванные небезопасной работой с памятью.

  • Расширен и улучшен API Neural Networks.

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

  • Обновлен API MediaCodec:
  • Устарело API OpenSL ES. Вместо него рекомендуется использовать Oboe.

  • Добавлена новая функция AAudioStream_release(), которая освобождает поток, но не закрывает его.

  • Добавлен MediaParser - низкоуровневый API для извлечения данных из медиа-контейнера.

  • Поддержка 5G.

  • Новые возможности для Wi-Fi Passpoint.

  • Расширен API Wi-Fi suggestion.

  • Встроенный декодер изображений.

  • Frame rate API - позволяет информировать систему о предполагаемой частоте кадров. На основе этой информации система определяет и выставляет оптимальную частоту кадров.

  • Режим HDMI с низкой задержкой (известен как “игровой режим”) - позволяет отключить постобработку графики на телевизоре или внешнем мониторе.

  • Для более эффективного тестирования в отлаживаемое приложение теперь можно загружать внешние графические слои (GLES, Vulkan).

  • Возможность запуска приложения, используя ANGLE, чтобы оценить производительность и решить, должно ли конкретное приложение использовать ANGLE, а не собственные драйверы OpenGL ES.

  • Приложения, которые работают с камерой устройства, теперь смогут отключать виброзвонок во время работы с камерой с помощью метода setCameraAudioRestriction().

  • Улучшены возможности камеры эмулятора Android.

  • Улучшена поддержка анимированных файлов формата HEIF. Теперь метод ImageDecoder.decodeDrawable () возвращает всю последовательность изображений в виде AnimatedImageDrawable (раньше возвращался один кадр). Также можно извлечь отдельный кадр с помощью метода MediaMetadataRetriever.getImageAtIndex().

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

Другие обновления

  • Добавлен API, который позволяет получать информацию о причинах завершения работы приложения: по инициативе пользователя, из-за сбоя, принудительно завершено системой.

  • Добавлен API ResourcesLoader, благодаря которому можно динамически загружать какие-либо ресурсы во время работы приложения.

  • Динамические intent-фильтры.

  • Улучшены сервисы автозаполнения:

    • Для AssistStructure.ViewNode добавлен новый метод getHintIdEntry(), который возвращает идентификатор, используемый для установки подсказки, связанной с view.
    • Чтобы помочь сервисам автозаполнения улучшить свои подсказки, был добавлен способ выявления случаев, когда пользователю были предоставлены варианты автозаполнения, но он ни один не выбрал. FillEventHistory в этом случае регистрирует событие типа TYPE_DATASETS_SHOWN.

Полезные ссылки

Android 11 - официальная документация.
Android API Differences Report(API 29 -> DP4).
Ключевые новшества Android 11 на opennet: первый, второй и третий выпуски.
The Android 11 feature list - полный список изменений.
Android 11 for developers - новость о релизе в блоге.
Android 11 - список изменений с акцентом на визуальную составляющую.

This post is licensed under CC BY 4.0 by the author.