Ответ
Да, был случай, когда предлагал перейти с RecyclerView.Adapter на ListAdapter для оптимизации обновлений списка. Коллеги сомневались из-за сложности миграции и неочевидных преимуществ.
Как решил:
- Написал сравнительный тест (дифф-утилиты, производительность).
- Сделал POC с упрощённым примером:
class DiffCallback : DiffUtil.ItemCallback<Item>() {
override fun areItemsTheSame(old: Item, new: Item) = old.id == new.id
override fun areContentsTheSame(old: Item, new: Item) = old == new
}
- Показал, как это сокращает boilerplate и ускоряет
notifyDataSetChanged().
Вывод: конкретные примеры > абстрактные аргументы. Команда согласилась на постепенный переход.