Ответ
DiffUtil.ItemCallback используется в ListAdapter для эффективного сравнения элементов списка. Основные методы:
areItemsTheSame(oldItem: T, newItem: T): Boolean
Проверяет, ссылаются ли объекты на один и тот же элемент (например, по id).
override fun areItemsTheSame(old: User, new: User) = old.id == new.id
areContentsTheSame(oldItem: T, newItem: T): Boolean
Проверяет, одинаково ли содержимое элементов (например, все поля).
override fun areContentsTheSame(old: User, new: User) = old == new
getChangePayload(oldItem: T, newItem: T): Any?(опционально)
Возвращает payload для частичного обновления ViewHolder (например, черезnotifyItemChanged(position, payload)).
Использование DiffUtil уменьшает количество перерисовок и улучшает производительность RecyclerView.