payload

    [Android] DiffUtil과 Payload를 활용한 RecyclerView 성능 최적화

    안드로이드에서 안 쓰는 앱을 더 찾기 힘들 정도로 자주 사용되는 RecyclerView는 매우 유용하면서도 늘 성능 최적화를 고려해야 하는 리스트뷰다.성능 최적화 방법에는 여러 가지 접근 방식이 존재하겠지만, 가장 기본적이고 쉽게 RecyclerView의 성능을 최적화하는 방법이 있다.결론부터 말하자면 리스트의 아이템에 변경사항이 있을 때 전체 리스트를 갱신하는 대신, DiffUtil의 payload를 활용하여 변경된 부분만 업데이트하는 방법으로 RecyclerView의 성능을 크게 향상할 수 있다.만약 RecyclerView에 대량의 데이터가 노출되고 있을때, 리스트의 아이템이 빈번하게 변경될 때마다 전체 리스트를 갱신하는 방식은 비용이 매우 크며 성능 저하에 큰 영향을 미치게 된다.DiffUtil은 ..