작성일 23/11/24 최초 작성.
학습 목표
학습 상황
RecyclerView의 개념
RecyclerView의 특징
ViewHolder 사용: 화면에 표시되는 아이템의 뷰를 재활용할 수 있다. 따라서 성능 향상과 메모리 절약에 도움이 된다.
LayoutManager 사용: 레이아웃 매니저를 이용해 아이템의 배치 방법을 결정한다.
ItemDecoration: 항목 간에 간격이나 구분선을 넣기 위해 Item Decoration을 이용할 수 있다.
ItemAnimator: 아이템 추가, 제거, 또는 변경 시 애니메이션을 제공한다.
Clickable: 각 아이템은 클릭 가능하며, RecyclerView는 클릭 및 롱클릭 이벤트를 처리할 수 있다. (RecyclerView.Adapter에 setOnItemClickListener, setOnItemLongClickListener 메서드 이용)
동적 데이터 처리: RecyclerView에 연결된 어댑터의 데이터가 변경될 때, 이를 알려주면 RecyclerView는 뷰를 업데이트한다.
생명주기가 중요한 이유
ViewHolder 패턴을 재활용할 때, 불필요한 뷰들이 메모리에 남아 메모리 누수로 이어질 수 있다.
onViewRecycled() 메서드를 활용해, 뷰가 재사용되기 전에 이전에 할당된 리소스들을 제거하지 않으면 메모리 누수로 이어질 수 있다.
또한, 스크롤 성능 확보와 동적 데이터 처리를 위해서도 생명 주기를 잘 다루어야 한다.
생명주기들
onCreateViewHolder
onBindViewHolder()
getItemCount()
onAttachedToRecyclerView()
onDetachedFromRecyclerView()
onViewRecycled()