Компания Google представила тестовую версию открытой мобильной платформы Android 11. Релиз Android 11 ожидается в третьем квартале 2020 года. Для оценки новых возможностей платформы предложена программа предварительного тестирования. Сборки прошивки подготовлены для устройств Pixel 2 / 2 XL, Pixel 3 / 3 XL, Pixel 3a / 3a XL и Pixel 4 / 4 XL. Перепрошивка производятся вручную, возможность установки Android 11 через систему OTA-обновлений появится в мае.
Ключевые новшества Android 11:
- В Android Emulator добавлена экспериментальная возможность запуска исполняемого кода 32- и 64-разрядных приложений, собранных для архитектуры ARM, в окружении запущенного в эмуляторе системного образа Android 11, собранного для архитектуры x86_64.
- Расширена поддержка стандарта мобильной связи 5G, предоставляющего более высокую пропускную способность и меньшие задержки. Создающие большую сетевую нагрузку приложения, выполняющие такие действия, как просмотр потокового видео с качеством 4K и загрузка игровых ресурсов в высоком разрешении, теперь могут работать не только при соединении через Wi-Fi, но и при работе через сеть сотового оператора связи. Для упрощения адаптации работы приложений с учётом каналов связи 5G, расширен API Dynamic Meteredness, применяемый для проверки тарифицируется ли соединение по трафику и можно ли через него передавать большие объёмы данных. Данный API теперь охватывает сотовые сети и позволяет определить подключение к провайдеру, предоставляющем по настоящему безлимитный тариф при подключении через 5G.
Также расширен API Bandwidth Estimator, позволяющий прогнозировать размер доступной пропускной способности для загрузки или отправки данных, без проведения собственных сетевых тестов.
- Добавлена поддержка новых типов экранов «pinhole» (экран занимает всю лицевую поверхность смартфона, за исключением небольшого кружка в верхнем левом углу для фронтальной камеры) и «waterfall» (экран охватывает также закруглённые боковые грани устройства). Наличие дополнительных видимых и слепых областей на данных экранах приложения теперь могут определять при помощи штатного API Display Сutout. Для охвата боковых граней и организации взаимодействия в областях рядом с краями экранов «waterfall» в API предложены новые вызовы.
- Добавлены дополнительные возможности для обмена сообщениями. В области уведомлений добавлена отдельная секция с активными беседами, позволяющая сразу найти текущие разговоры, не покидая других приложений. Приложения для обмена сообщениями и чата переведены на использование API Bubbles, позволяющего применять концепцию «пузырей» для одновременной работы с несколькими приложениями — можно общаться в чате, не прекращая работу в другой программе. При быстром написании ответа из области уведомления теперь можно прикреплять к сообщениям изображения, копируя их через буфер обмена.
- До версии 1.3 обновлён API Neural Networks, предоставляющий приложениям возможности по задействованию средств аппаратного ускорения для систем машинного обучения. API позиционируется как базовая прослойка для функционирования в Android фреймворков машинного обучения, таких как TensorFlow Lite и Caffe2. Для использования на мобильных устройствах предложен ряд готовых моделей нейронных сетей, в том числе MobileNets (распознавание объектов на фотографиях), Inception v3 (компьютерное зрение) и Smart Reply (подбор вариантов ответа на сообщения). В новом выпуске реализована поддержка расширенного квантования с использованием знаковых целых чисел вместо чисел с плавающей запятой, которое позволяет сократить размер моделей и ускорить работу с ними. Кроме того, в API Quality of Service добавлены возможности для управления приоритетами и таймаутами при выполнении моделей, а API Memory Domain расширено для снижения операций копировании и преобразования памяти при последовательном выполнении моделей.
- Добавлены новые опции для контроля за доступом приложений к персональным данным. В дополнение к появившемуся в прошлом выпуске режиму доступа к местоположению только во время работы с программой (в фоне доступ блокируется) в Android 11 представлена поддержка одноразовых полномочий. Пользователь теперь может предоставить приложению временный доступ к ключевым полномочиям, таким как доступ к местоположению, микрофону и камере. Разрешение действует на время текущего сеанса и отзывается как только пользователь переключился на другую программу.
- Внесены изменения, упрощающие миграцию приложений на хранилище Scoped Storage, позволяющее изолировать файлы приложений на внешнем накопителе (например, на SD-карте). При использовании Scoped Storage данные приложения ограничиваются отдельным каталогом, а для получения доступа к общим коллекциям мультимедийных файлов требуется получение отдельных полномочий. В Android 11 реализована поддержка опционального режима доступа к носителю по полным файловым путям, обновлён API DocumentsUI, добавлена возможность выполнения пакетных операций в MediaStore.
- Расширены возможности по использованию биометрических датчиков для аутентификации. В API BiometricPrompt, предлагающем универсальный диалог биометрической аутентификации, появилась поддержка трёх типов аутентификаторов — надёжные, слабые и учётные данные устройства. Упрощена интеграция BiometricPrompt с различными архитектурами приложений, не ограничивающимися применением класса Activity.
- При сборке компонентов платформы, требующих повышенной защиты, задействованы работающие на этапе компиляции механизмы защиты CFI (Control Flow Integrity), BoundSan, IntSan (Integer Overflow Sanitization) и Shadow-Call Stack. Для выявления проблем при работе с памятью в приложениях включена проверка указателей в куче на основе привязанных к ним тегов (heap pointer tagging). Для поиска ошибок работы с памятью предложен дополнительный системный образ, в котором включён отладочный механизм HWAsan (Hardware-assisted AddressSanitizer).
- Подготовлен API BlobStoreManager, позволяющий организовать безопасный обмен бинарными данными между приложениями. Например, данный API можно использовать для предоставления нескольким приложениям доступа к моделям машинного обучения, при запуске этих приложений одним пользователем.
- Добавлена поддержка платформ для безопасного хранения и извлечения проверяемых идентификационных документов, таких как электронные водительские удостоверения.
- В рамках проекта Mainline, позволяющего обновлять отдельные системные компоненты без обновления платформы целиком, подготовлены 12 новых обновляемых модулей в дополнение к 10 модулям, доступным в Android 10. Обновления затрагивают не привязанные к оборудованию компоненты, которые загружаются через Google Play отдельно от OTA-обновлений прошивки от производителя. Среди новых модулей, которые смогут обновляться через Google Play без обновления прошивки — модуль для управления полномочиями, модуль для работы с накопителями (с поддержкой Scoped Storage) и модуль с NNAPI (Neural Networks API).
- Проведена работа по снижению влияния изменения поведения некоторых подсистем на работу приложений. Новшества, которые могут повлиять на работу приложений теперь могут быть опционально отключены и отрегулированы на уровне SDK. Для упрощения тестирования совместимости приложений с Android 11 в интерфейсе Developer Options и в утилите adb предоставлены настройки для включения и отключения возможностей, влияющих на совместимость (позволяю обойтись при тестировании без изменения targetSdkVersion и без пересборки приложения). Обновлены серые списки ограниченных программных интерфейсов, не предоставляемых в SDK.
- Добавлен фрейморк Resource Loader, позволяющий во время выполнения приложения динамически загружать дополнительные ресурсы.
- В сервис проверки звонков добавлена возможность передачи приложениям статуса верификации входящего звонка, который может использоваться для формирования после обработки звонка кастомизированных диалогов, например, включающих дополнительные действия для пометки звонка как спам или добавления в адресную книгу.
- Улучшен API Wifi Suggest, позволяющий приложению (менеджеру подключения к сети) влиять на алгоритм выбора предпочитаемых беспроводных сетей путём передачи ранжированного списка сетей, а также учитывающий при выборе сети дополнительные метрики, такие как сведения о пропускной способности и качества канала связи при прошлом подключении. Добавлена возможность управления беспроводными сетями, поддерживающими стандарт Hotspot 2.0 (Passpoint), в том числе обеспечен учёт времени истечения действия профиля пользователя и реализована возможность использования в профилях самоподписанных сертификатов.
- В API ImageDecoder добавлена поддержка декодирования и отображения анимированных изображений в формате HEIF (HEIC у Apple), использующем методы сжатия HEVC (H.265). По сравнению с анимированными изображениями GIF формат HEIF позволяет существенно сократить размер файла.
- В NDK добавлен API для использования в нативном коде операций кодирования и декодирования изображений (JPEG, PNG, WebP и т.п.), без привлечения сторонних библиотек. Новый API даёт возможность сократить размер APK-файлов с нативными приложениями и решить проблему с обновлением встраиваемых библиотек, которые могут содержать уязвимости.
- Приложения для работы с камерой теперь могут временно отключать виброзвонок (например, при выводе уведомлений) для блокирования его срабатывания во время сеанса с камерой.
- Предоставлена возможность включения режимов Боке (размытие фона на снимке) для устройств с их поддержкой (например, режим still обеспечивает более высокое качество снимка, а режим continuous более точное соответствие данным с сенсора).
- Добавлен API для проверки и настройки режимов воспроизведения видео с низкими задержками, востребованных в приложениях для потокового вещания в реальном времени. Кроме того, добавлена поддержка режима работы HDMI с низкими задержками (игровой режим), при котором для сокращения задержек на телевизоре или внешнем мониторе отключается постобработка графики.
Источник: http://www.opennet.ru/opennews/art.shtml?num=52403