본문 바로가기

리사이클러뷰2

DiffUtil를 BaseAdapter로 하여 쉽게 RecyclerView만들기 옛날에는 안드로이드에서 코틀린을 사용하여 RecyclerView를 만들 때 notifyDataSetChanged를 사용했지만 현재는 해당 방법이 deprecated 되었기 때문에 권장하지 않는 방법이 되었습니다. 그래서 새로운 방법은 무엇이며 왜 기존 방법이 사용하지 않게 되었는지 설명하겠습니다. notifyDataSetChanged가 Deprecated 된 이유 이를 알기 위해선 먼저 notifyDataSetChanged의 동작 원리에 대해 알아야 합니다. RecyclerView의 adapter에서 notifyDataSetChanged를 실시하면 다음과 같이 동작합니다. 모든 Item에 대해 onBindViewHolder를 실시한다 즉, 간단하게 말하면 notifyDataSetChanged 사용한 리사.. 2023. 11. 12.
리사이클러뷰의 생명주기 분석 및 메모릭의 원인 리사이클러뷰의 라이프 사이클 (화면에 보여지기까지의 순서) onAttachedToRecyclerView - 리사이클러뷰를 화면에 붙임 onCreateViewHolder - 홀더를 생성 onBindViewHolder - 홀더와 뷰를 바인딩 onViewAttachedToWindow - 홀더가 화면에 온전히 보여짐 onViewDetachedFromWindow - 홀더가 화면에 보여지지 않음 onViewRecycled - 재사용할 홀더 가져오기 onDetachedFromRecyclerView - 리사이클러뷰를 화면에서 떼냄 HTML 삽입 미리보기할 수 없는 소스 작성한 RecyclerView의 코드 TestAdapter.kt class TestAdapter: RecyclerView.Adapter() { priv.. 2023. 1. 5.