목록kotlin (1)
코린이 탈출기
[Android] DiffUtil + ListAdapter 적용기
💡개요 성능개선을 위해 기존에 사용하던 RecyclerView를 DiffUtil + ListAdapter로 변경하는 작업을 진행하였는데, 변경하면서 어려웠던 점과 해결방안에 대해 기록해두려고 한다. RecyclerView를 사용하면서 어댑터에 변경사항을 알리기 위해 사용하는 notifyDataSetChanged() 함수를 매우 빠르게 자주 호출하게 되면 화면 내의 모든 항목이 한 프레임 내에서 다시 결합/배치되고 다시 그려지게 되는데, 이 때 리소스를 많이 사용하여 앱 성능이 현저히 떨어지게 되고, 결국에는 OOM으로 앱이 종료되는 현상이 발생했다. 이러한 현상은 사용자 경험에 큰 영향을 주기 때문에 꼭 수정이 필요한 부분이었다. notifyDataSetChanged()는 모든 항목이 새로 그려지게 되는..
Android 공부
2022. 7. 25. 00:58