RecyclerView.Adapter의 성능을 높이거나 또는 같은 이유지만 Paging Component를 쓰는경우 DiffUtil.ItemCallback을 반드시 구현해야 합니다.

보통 Adapter내에서 Inner class로 구현하거나 Outer로 빼서 생성자 파라미터로 OldItem과 NewItem을 제공해야합니다.

boolean areItemsTheSame(oldItem, newItem) 를 통해 이젠 아이템과 새로운 아이템의 ID가 같은지 비교한 뒤 같은 경우 내부에서 boolean areContentsTheSame(oldItem, newItem) 을 다시 호출하여서 객체의 필드가 같은지 비교할 수 있습니다. 만약areItemsTheSame이 true를 반환하면 areContentsTheSame는 호출되지 않습니다.

 

Buy me a coffeeBuy me a coffee
카테고리: Android

답글 남기기

이메일은 공개되지 않습니다.