RecyclerView. Оптимизация Adapter

Привет, Хабр! Меня зовут Михаил Богатиков, я Android-разработчик в ПСБ. В своей работе я часто сталкиваюсь с задачей отображения сложных и динамических списков. Казалось бы, RecyclerView — давно знакомый инструмент. Но когда данные становятся разнородными, а списки — большими, простой вызов notifyDataSetChanged() превращается в узкое место, вызывающее фризы и дергающуюся анимацию. Как перейти от лобового обновления к точечным изменениям? Как объединить несколько типов элементов в одном адаптере? В этой статье я пройду путь эволюции работы с RecyclerView.Adapter: - Разберу, как работает система уведомлений под капотом. - Вспомню, как DiffUtil и ListAdapter спасли нас от ручных вычислений. - Расскажу про AsyncListDiffer, ConcatAdapter и нюансы восстановления позиции. - И наконец, покажу, как спроектировать универсальный адаптер с поддержкой разных ViewHolder, частичным обновлением (Payloads) и ViewBinding — с полным примером кода. Поехали!

https://habr.com/ru/companies/psb/articles/1043722/

#kotlin #adapter #recyclerviewadapter #diffutil #ListAdapter #AsyncListDiffer #ConcatAdapter #Payloads #ViewHolder #ViewBinding

RecyclerView. Оптимизация Adapter

Привет, Хабр! Меня зовут Михаил Богатиков, я Android-разработчик в ПСБ. В своей работе я часто сталкиваюсь с задачей отображения сложных и динамических списков. Казалось бы, RecyclerView — давно...

Хабр

Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом

RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта магия происходит благодаря ItemAnimator — механизму, который я сегодня разберу до последнего винтика. В этой статье мы погрузимся в архитектуру системы анимаций RecyclerView, проследим путь от вызова notifyItemInserted() до финальной анимации на экране.

https://habr.com/ru/articles/939594/

#android #recyclerview #animation #viewholder #layoutmanager #android_animation #itemanimator #view_animation #android_ui #android_development

Как RecyclerView создает магию анимаций: архитектура ItemAnimator под капотом

Введение RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта...

Хабр