안드로이드 DiffUtil (Databinding에서 중요한이유)


안드로이드 DiffUtil (Databinding에서 중요한이유)

DiffUtill은 두 개의 리스트를 서로 비교하여 다른 요소만 바꾸어주는 유틸리티 클래스이다. 공식문서에 따르면 이 알고리즘은 O(N)의 공간과 O(N + D^2)의 성능을 가진다. Databinding에서 DiffUtil이 아주 중요하다고 생각하는 이유는 DataBinding을 통해 RecyclerView를 구현할 때 리사이클러 어댑터에 전달되는 items가 있다고 하자. 이 items은notifyDataSetChanged(), notifyItemChaged(position:Int) 등등 개발자가 직접 분기를 나누어 줘야 했다. 만약 단순히 Item하나만 추가되는 상황에서 notifyDataSetChaged()를 호출하는 것은 아주 비효율적이기 때문이다. 내가 겪었던 문제를 설명하자면, viewMod..


원문링크 : 안드로이드 DiffUtil (Databinding에서 중요한이유)