리사이클러뷰

    [Android] RecyclerView DiffUtil

    정의 RecyclerView에 현재 보이고 있는 Item에 변경이 일어날 경우 notifyItemChanged()를 통해 변경을 알려 새로고침을 해야 한다. 하지만 이 메소드를 통한 변경 알림은 adapter가 새로운 item 인스턴스를 생성하기 때문에 비용이 많이 들게 된다. 이러한 비효율적인 작업을 줄이고 합리적인 Item 변경을 위해 DiffUtil이 개발되었다. 이 클래스는 이전 목록과 새로운 목록 간의 차이점을 찾고 업데이트가 필요한 목록을 찾아 반환하여 RecyclerView의 adapter에 업데이트를 알린다. 위 동작의 기반은 Eugene W.Myers의 차이 알고리즘을 적용하여 최소한의 업데이트 수를 계산한다. 사용법 DiffUtil.Callback은 추상 클래스로 위에서 언급한 두 목록..