Проверяет знание оптимизации списков в RecyclerView.
DiffUtil рассчитывает различия между двумя списками и обновляет только изменённые элементы.
Сравнивает старый и новый список.
Вызывает только нужные onBindViewHolder.
Снижает нагрузку на UI.
Пример:
object Diff : DiffUtil.ItemCallback<Message>() {
override fun areItemsTheSame(oldItem: Message, newItem: Message) = oldItem.id == newItem.id
override fun areContentsTheSame(oldItem: Message, newItem: Message) = oldItem == newItem
}