Adapter DiffUtil 사용
hegunhee opened this issue · 0 comments
hegunhee commented
배경
- RecyclerView 사용에 있어서 데이터가 변경되거나 수정될때 notifyDataSetChanged()를 사용
- notifyDataSetChanged()는 편하지만 성능에 치명적인 악영향을 미침
- 이전 데이터 상태와 현재 데이터간의 상태차이를 계산하고
- 최소한의 데이터만 갱신해주는 DiffUtil을 사용함
내용
- DiffUtil.Callback 추상 클래스를 상속받아 Diff클래스를 만들어줌
- 4개의 추상 메소드를 오버라이딩 해서 사용함
아이템 비교를 할때
areItemsTheSame 메소드에서 true 값이 나올경우 areContentsTheSame 메소드가 호출됨
여기서는 id가 primary key이기때문에 사용했습니다.
areContentsTheSame함수의 호출 횟수를 줄이기위해 사용