Android Broadcast
14.1K subscribers
3.47K photos
316 videos
11 files
5.78K links
Подборка новостей и статей для Android разработчиков.

Связь с автором @android_broadcast_bot
Реклама @android_broadcast_bot

РКН https://abdev.by/rkn_tg_ab
Download Telegram
#RecyclerView

Делаем код в адаптере чище с помощью MergeAdapter

В следующей Верси RecyclerView нас ждет новый адаптер - MergeAdapter, переименованный в ConcatAdapter. Задача адаптера объединять в себе контент из других адаптеров

В статье приводится пример задачи, решаемой с помощью ConcatAdapter. Такое решение позволяет сделать код чище, а еще добавить Header и Footer.
#RecyclerView

Custom ItemDecoration

Наверняка вы знаете что разделять item'ы в RecyclerView путём добавления в их xml специального view-разделителя - это очень плохая практика. Для этих целей существует такой инструмент как ItemDecoration.

Благодаря тому что мы можем наследоваться от этой абстракции у нас открываются возможности разнообразной реализации, например:
👉 Убрать разделитель для последнего item'а
👉 Сделать специальные разделители для определённого ViewType
👉 Показывать уникальные разделители для item'ов на определённых позициях.

Автор подробно рассматривает все случаи кастомных декораций и даёт примеры кода для реализации в своих проектах
#RecyclerView

How to Cook the 60 FPS RecyclerView?

Советы как сделать работу вашего RecyclerView максимально быстрой и плавной:
👉 Максимально простая иерархия View. И плоская
👉 Не стесняйтесь прибегать к Custom View, чтобы сделать иерархию плоской
👉 Большое количество уникальных типов элементов негативно влияет сна производительность
👉 Используйте оптимизации RecyclerView: DiffUtils, setHasFixedSize(), setItemViewCacheSize(), setRecycledViewPool()
#Производительность #UI #RecyclerView

Improve UI Performance with Async RecyclerView Layout Loading

История оптимизации производительности RecyclerView с использованием AsyncLayoutInflater, который переносит парсинг XML в View на фоновый поток. Результаты этой оптимизации и как ее реализовывали в статье.
#RecyclerView

Get ahead using headers in RecyclerView

Руководство по добавлению Header-ов в списках на основе RecyclerView
This media is not supported in your browser
VIEW IN TELEGRAM
#Motionlayout #RecyclerView

MotionLayout + RecyclerView = красивые анимированные списки

Прекрасная и простая демонстрация возможностей MotionLayout для создания красивых анимаций в списках
#AndroidBroadcast #RecyclerView #ЛучшиеПрактики

🔴 Лучшие практики RecyclerView

Стартуем прямой эфир в котором обсуждаем все лучшие практики и оптимизации скорости работы RecyclerView - компонент, который является неотъемлемой частью любого современного Android приложения!
#recyclerview

Фантастические RecyclerView.ViewHolder и где они создаются

Оптимизация RecyclerView с помощью создания View для ViewHolder заранее для множество viewType и библиотека на основе решения из статьи - PrefetchViewPool
#recyclerview

RecyclerView Adapter in Android, сделай быстрее и проще

Еще одна пуля сделать быстрее работу с RecyclerView - FastAdapter
#jetpackupdate #jetpack

Обновление Android Jetpack от 6 апреля 2022
👉 AppCompat 1.5.0-alpha01: больше поддержки compound drawable tinting, улучшение поддержки Android 13
👉 Много багфикса в Camera 1.1.0-beta03
👉 Fragment 1.5.0-alpha05: работа с меню помечена как deprecated
👉 Важный багфикс в Navigation 2.4.2
RecyclerView 1.3.0-alpha02: интеграция с AndroidX PoolingContainer для лучшего показа Compose внутри элементов
👉 SavedState 1.2.0-alpha02: начата миграция либы на Kotlin
👉 WorkManager 2.8.0-alpha02: создавать Constraints из Kotlin стало удобнее. Не Builder единым

Много мелких улучшений, подробности о которых вы сможете найти здесь
Jetpack Compose Interop: Using Compose in a RecyclerView (10 мин)

RecyclerView 1.3.0 улучшает производительность использования Compose (нужна версия 1.2.0) в качестве элементов списка. Зачем? Да потому что LazyList огорчает производительностью и возможностями. В статье автор разбирает в чем суть этих изменений и прошлые рекомендации от команды.

#compose #recyclerview #performance
Обновление Android Jetpack от 8 марта 2023

Lifecycle 2.6.0
👉 Метод LiveData.isInitialized() позволит проверить задавалось ли значение в LiveData
👉 Стабильный collectAsStateWithLifecycle() в Compose. Подробности тут
👉 Методы Lifecycle.launchWhenX теперь deprecated. Используйте Lifecycle.repeatOnLifecycle
👉 Множество классов переписали на Kotlin

RecyclerView 1.3.0
👉 Улучшение производительности при работе с Compose

Что еще:
👉 Первая RC Jetpack Compose 1.4
👉 Исправление багов
👉 Поддержка Android 14

#jetpack #jetpackupdate
Обновление Android Jetpack от 24 мая 2023
👉 WebKit 1.7.0: поддержка drag & drop картинок, текста и ссылок и возможность задания базовой директории для сохранения данных
👉 Navigation 2.7.0-alpha01: поддержка анимаций переходов на основе AnimatedContent из Compose
👉 Paging 3.2.0-alpha06: упростили основное и тестовое API
👉 Важные фиксы в RecyclerView Version 1.3.1-rc01
👉 Первая beta Compose 1.5.0
👉 CameraX 1.3.0-alpha07 добавила возможность задания частоты кадров съемки видео

#jetpack #jetpackupdate
Обновление Android Jetpack:
🔥 Paging 3.2.0: стабильная поддержка Compose, API для тестирования пагинации, улучшение логов и др.
👉 Фикс багов в Preference 1.2.1, RecyclerView 1.3.1 (для Compose), Fragment 1.6.1
👉 Lifecycle 2.7.0-alpha01: получение обновлений состояние через Flow и интеграция с Compose
👉 Work 2.9.0-alpha02: получение причины почему Work был остановлен
👉 Очень много библиотека перешли в стадию RC
👉 Jetpack Glance (App Widget на Compose) готовится к релизу

#jetpackupdate #jetpack
🤖 Android Jetpack Update 18.10.2023
👉 Benchmark 1.2.0. Baseline Profile Gradle Plugin, улучшения Macrobenchmark и Microbenchmark
👉 Room 2.6.0. Поддержка KSP
👉 CameraX 1.3.0. Запись с 2 камер, 10-bit видео, выбор разрешения съемки и много других улучшений
👉 Sqlite 2.4.0. Багфикс
👉 RecyclerView 1.3.2. Багфикс анимаций

#jetpack #jetpackupdate
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
🤖 Вопперы и табы: как мы сделали меню для Burger King (4м)

Surf рассказывает сделали редизайн навигации главного экрана в приложении Burger King, где надо было сделать двухуровневые табы

#recyclerview #android
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел RecyclerView 1.4.0 c поддержкой Android 15, а именно добавили работу с адаптивной частотой обновления экранов.

Также появилось API RecyclerView.LayoutManager.isLayoutReversed

#android #jetpack #recyclerview #jetpackupdate