Оцените превью для обновлений некоторых уже существующих функций, а также доступных нововведений, таких как IME animation control.
Идея заключается в том, что IME (редактор метода ввода) появляется сам по себе, когда требуется ввод с клавиатуры. Это та функциональность, которая нужна пользователям, но она не предоставляет тот опыт, который они хотят. Она создает визуальный разрыв, просто появляясь на месте и заставляя приложения привязываться к их скорректированной компоновке с учетом изменения доступного экранного пространства. Клавиатура на самом деле анимируется… но приложение мгновенно привязывается к размеру пост-анимации, вызывая эту визуальную икоту.
Новые API — это возможность одновременно получать информацию о позиции IME, когда она анимируется (чтобы приложения могли синхронизировать свои собственные анимации), и управлять анимацией IME. Между прослушивателем и элементом управления анимацией приложения имеют достаточно возможностей для создания опыта, который совмещает изменения в пользовательском интерфейсе приложения с анимацией самого IME, обеспечивая гораздо лучшее качество.
Еще один новый API, добавленный в Android 11, — это декодер изображений для NDK. Если вы сейчас используете JNI, чтобы декодировать свои изображения через API платформы или что хуже (по крайней мере, с точки зрения размера приложения), объединяя другие библиотеки для обработки декодирования изображений, то есть хорошее решение.
Теперь вы можете использовать новый API NDK ImageDecoder
для обработки изображений в обычных форматах (таких как JPEG, PNG, GIF, WebP и HEIF). Дополнительную информацию смотрите в руководстве NDK. Также советую взглянуть на образец ImageDecoder, особенно Texture.cpp, чтобы узнать, как это работает.
Мы также добавили новые аннотации nullability к API SDK в Android 11.
В частности, Android 11 ввел аннотации через API, которые могут показывать новые предупреждения и ошибки при сборке. Некоторые API, которые раньше имели @RecentlyNullable или @RecentlyNonNull (которые могут выдавать предупреждения от компилятора Kotlin при неправильном использовании), были обновлены до @Nullable и @NonNull (которые вместо этого генерируют ошибки во время сборки). Мы также добавили новые аннотации @RecentlyNullable и @RecentlyNonNull к API, которые еще не имели никаких аннотаций.
С момента последнего релиза превью в Android 11 появилось ещё несколько особенностей:
Мы добавили новый экран настроек в опции разработчиков, где вы можете переключать различные изменения поведения, чтобы увидеть, оказывают ли они какое-либо влияние на вашу ситуацию.
Все детали на сайте предварительного просмотра Android 11. Дайте нам обратную связь или заполните опрос, чтобы сообщить нам свои мысли.
Библиотека CameraX, созданная для облегчения разработки функциональных возможностей камер (даже в рамках разнообразной экосистемы устройств), теперь вступила в бета-версию. Это означает, что API будет оставаться неизменным, поскольку команда исправляет проблемы до того, как библиотека достигнет стабильности.
Некоторые из улучшений бета-версии включают в себя:
Еще один релиз, который стоит отметить, — это альфа-версия модуля Camera View (alpha08 на момент написания этой статьи), которая предоставляет полезные компоненты, связанные с представлениями для приложений камеры.
Оценить обзор CameraX или узнать больше о различных модулях CameraX можно на странице выпуска камеры AndroidX.
Несколько библиотек стали стабильными, в основном с исправлениями ошибок и незначительными функциями, включая:
Особенно следует отметить, что во многих библиотеках, недавно попавших в альфа-версии, есть Activity 1.2.0-alpha02
, который добавляет поддержку ActivityResultRegistry, позволяя обрабатывать потоки startActivityForResult()
/onActivityResult()
и requestPermissions()
/onRequestPermissionsResult()
без переопределения методов в Activity или фрагменте. Вы также можете взглянуть на Fragment 1.3.0-alpha02, который добавляет поддержку для этих новых API.
В последнее время в разделе публикаций разработчиков Android появилось много технических статей, в том числе:
When, Enums и R8Join Medium.Join Medium.medium.com
В случае с enums добавление оператора switch
(или when
в Kotlin) приводит к созданию дополнительного класса и массива. Использование компилятора R8 может исправить эту ситуацию.
Мануэль Виво опубликовал эту статью:
БУДЕТ ПЕРЕВЕДЕНА
которая объясняет, как компилятор Kotlin преобразует корутины под капотом.
Корутины Kotlin: отмены и исключенияОпубликована серия из трех частей, посвященных отмене и исключениям в корутинах Kotlin:
Часть 1 содержит краткий обзор корутин, включая определение и объяснение необходимых частей, таких как CoroutineScope, Job и CoroutineContext:Корутины: самое главноеКорутины — важный инструмент для распараллеливания задач без ущерба производительности. Однако, как у любого хорошего…medium.com
Часть 2 охватывает отмену корутин. В статье описывается, как отменить определенные задания, а также целые CoroutineScopes. В ней также обсуждается кооперативность отмены и правильное окончание работы в корутине, которая была отменена.Исключения в корутинахПродолжение цикла статей о корутинах. Другой важный элемент работы с ними — исключения. Исключения в корутинах…medium.com
Часть 3 завершает серию обсуждением того, что делать, когда все идет не так, как планировалось: как правильно обрабатывать исключения в корутинном коде. Например, исключение в корутине по умолчанию приведет к отмене всех корутин в ее CoroutineScope, но вы можете избежать этой ситуации с помощью SupervisorJob:Join Medium.Join Medium.medium.com
Добавлено множество новых инструментов и функций Android:
• собственные возможности профилирования в инструменте трассировки системы Android Studio;
• поддержка собственных отладочных символов в Android Vitals, чтобы помочь вам диагностировать сбои на ходу;
• более легкий доступ к API Google для разработчиков Unity.
Вы также можете подписаться на такие превью, как:
• расширение для разработки игр для Visual Studio, облегчающее добавление поддержки Android в вашу кроссплатформенную игру;
• новый инспектор-инструмент Android GPU.
Вперед изучать Android 11 DP2! Оцените бета-версию CameraX и другие релизы AndroidX! Больше информации на канале YouTube! Найдите новинки в разработке игр для Android!
Перевод статьи Chet Haase: Now In Android #14
Комментарии