Новости Android разработки 23.02.2021

0
9

Еженедельный дайджест новостей из мира Android разработки от Android Broadcast. Подписывайтесь на Telegram канал и YouTube канал, чтобы оставаться в курсе последних трендов и лучших практик Android разработки.

Неделька выдалась шикарной — нам показали новую версию Android, а также объявили о новом выпуске TheAndroidShow, посвященного Jetpack Compose. Ставлю на то, что там нам представят Beta Compose, расскажут когда же ждать релиза. Очень надеюсь что также будет стабилизация API для первой версии. Давайте разбираться.

Анонсирована Android 12 Developer Preview 1

Новости Android разработки 23.02.2021

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

Нас ждёт три Developer Preview каждый месяц, первую Beta увидим в мае, четвертая Beta, она же Platform Stability релиз, состоится в августе и весной нас ждёт релиз.

Новости Android разработки 23.02.2021

Сборка уже доступна для установки на все смартфоны Pixel, начиная с третьего поколения.

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

  • Сайт по Android 12

  • Анонс Android 12 DP1

Обновление WindowManager

Новости Android разработки 23.02.2021

В новой альфа-версии WindowManager добавили возможность использовать новые возможности из Android 11, улучшили API, а также меняют рекомендуемый способ для получения информации об экранах устройства

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

Все эти тенденции отражаются в библиотеке WindowManager, которая добавили новый класс DisplayFeatures, позволяющий получить возможности экранов и сделали backport WindowMetrics API из Android 11 для всех версий Android, начиная с 4.1.

  • Jetpack WindowManager Updates

ЧИТАТЬ ТАКЖЕ:  Facebook улучшил описания фотографий с помощью ИИ для слабовидящих

Multik: Multidimensional Arrays in Kotlin

Новости Android разработки 23.02.2021

JetBrains представила библиотеку для работы с многомерными массивами Multik

Библиотека содержит структуры данных для многомерных массивов так и математические операции с ними. Multik призвана оптимизировать проблемы для работы с такими сложными вычислениями

Реализация структур данных в Multik отделена от операций и подключается отдельной зависимостью. Операторы имеют 3 реализации:

  • Полная реализация на JVM

  • Нативная реализация, основанная на OpenBLAS

  • Стандартная реализация, комбинирующая в себе нативную и JVM реализации, для обеспечения лучшей производительности

Вполне возможно в своих проектах вы сможете использовать эту библиотеку или применить её идею с архитектурой для своих решений

  • Анонс Multik

  • Multik GitHub

Статья «Async Text Loading in Android with PrecomputedText»

Новости Android разработки 23.02.2021

Статья «Асинхронная загрузка текста в Android при помощи PrecomputedText» рассказывает об эффективной отрисовки текста

В наших приложениях мы везде сталкиваемся с текстами, но никто не задумывается насколько тяжела эта операция. В Android, например, отключили перенос текста в том виде в котором мы привыкли к нему в письменной речи из-за сложности этой операции. В Android мы привыкли что отрисовка делается на UI потоке и все операции касательно UI выполняются только там, но отрисовка текста включает в себя много предварительной подготовки. Поэтому есть смысл вынести эту работу на фоновый поток и только отрисовку делать на главном потоке. Для этого разработали специальное API PrecomputedText и его Compat версию. В статье автор рассказывает обо всём подробнее и показывает использование API.

  • Async Text Loading in Android with PrecomputedText

Статья «Let’s be explicit about our intent(-filters)»

Новости Android разработки 23.02.2021

В Android 12 ваше приложение не будет устанавливаться, если у компонентов в AndroidManifest не будет явно объявлено значение атрибута exported.

В AndroidManifest всегда была особенность — по умолчанию атрибут exported всегда false, т.е. доступ к этому компоненту можно сделать только внутри приложения. Объявлять его явно не надо было. Одна странность — если у вашего компонента появляется хотя бы один intent-filter, то значение exported по умолчанию меняется на true и компонент становится доступен всем. Это уязвимостью могли воспользоваться злоумышленники, а также много багхантеров заработали на этом в популярных приложениях.

ЧИТАТЬ ТАКЖЕ:  ASUS повышает цены на видеокарты и материнские платы

В Android 12 нельзя будет установить приложение, у которого есть компоненты с intent-filter без явного указанного значения флага exported. Ограничение будет распространяться на все приложения, независимо от targetSdk, так что уже пора пересмотреть манифест ваших приложений. Очень надеюсь что соответствующая проверка появится в Android Lint, а также Google Play будет проверять манифест при загрузке приложения.

  • Let’s be explicit about our intent(-filters)

Статья «How RxJava chain actually works»

Новости Android разработки 23.02.2021

Статья «Как на самом деле работает цепочка RxJava» рассказывает о особенностях жизненного цикла Rx цепочек

Как бы мы не любили Kotlin, хотели бы только Coroutine (очень надеюсь что вам они тоже нравится) и хотели бы Flow в своих проектах, но долгие годы популярности RxJava в Android мире оставили свой след. Множество проектов используют их и больше не каких других подходов. Поэтому статья будет полезна тем, кто изучает RxJava и должны разобраться в особенностях работы цепочки.

  • How RxJava chain actually works

Петиция по смене имени пакета Jetpack Compose

Новости Android разработки 23.02.2021

Запустили петицию по смене пакета Jetpack Compose c androidx.compose на compose.

Jetpack Compose с момента его анонса уже успел стать мультиплатформенным и выйти за рамки Android. Уже сейчас он поддерживает desktop и идёт работы на добавление Frontend. Поэтому странно что пакет в библиотеке до сих пор начинается с androidx. Важно сменить имя пакета, чтобы инструмент не ассоциировался только с android платформой, учитывая что на следующей неделе состоится TheAndroidShow на тему Jetpack Compose, на котором скорее всего будет анонсирована первая бета-версия.

ЧИТАТЬ ТАКЖЕ:  Визионер Андрей Андреев запустил сервис аудиоэфиров Stereo ещё до появления Clubhouse

Всем неравнодушным рекомендую пройти по ссылке и поставить свой голос за петицию. Как нам тогда убедить iOS использовать Compose, если там прямо в пакете будет android?

  • Петиция по смене имени пакета Jetpack Compose

Факт: Samsung возглавила рейтинг Donktkillmyapp

Новости Android разработки 23.02.2021

Samsung возглавила рейтинг производителей устройств, которые наиболее агрессивно убивают приложения в фоне

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

В своей последней прошивки на Android 11 отличились настолько что, возглавили рейтинг сайта dontkillmyapp, прыгнув с третьего места на первое, опередив таких лидеров как OnePlus и Huawei. Помимо того что Adaptive Battery работает агрессивнее чем на стоковом Android, теперь на Samsung foreground service по умолчанию не могут захватывать wake lock.

На сайте dontkillmyapp.com вы найдете инструкции, что делать, чтобы приложение не было заблокировано. Вполне возможно она пригодится вашим пользователям для того, чтобы помочь сделать работу приложения стабильным.

Новости Android разработки 23.02.2021

Заключение

Это все новости этой неделе. С вас лайк и подписка, а также напишите в комментариях, что вы хотите увидеть в Android 12. Не забывайте про розыгрыш билета на Mobius, условия будут в описании. Каждое новое участие — это дополнительный шанс на билет. На этом у меня всё. Всем хорошего Android! Пока-пока!