7. Recycler View의 기본 개념과 생명 주기

YeongJun Son·2023년 11월 24일
0

Android를 배우다

목록 보기
7/7

RecyclerView의 기본 개념과 생명 주기

작성일 23/11/24 최초 작성.

들어가며

학습 목표

  1. RecyclerView의 각 생명 주기가 어떤 역할을 하는지 살펴본다.
  2. 각 생명 주기에 따라 주의할 점을 살펴본다.

학습 상황

  1. RecyclerView를 이용해 틱택토 게임을 구현하는 과제가 있었다.
  2. 이후 ViewPager2 역시 RecyclerView에 기반함을 알게 되었다.

RecyclerView란?

RecyclerView의 개념

  • RecyclerView는 리스트나 그리드와 같이 구조화된 데이터, 즉 같은 형식을 갖춘 여러 항목을 나타내는 컨테이너다.

RecyclerView의 특징

  • ViewHolder 사용: 화면에 표시되는 아이템의 뷰를 재활용할 수 있다. 따라서 성능 향상과 메모리 절약에 도움이 된다.

  • LayoutManager 사용: 레이아웃 매니저를 이용해 아이템의 배치 방법을 결정한다.

  • ItemDecoration: 항목 간에 간격이나 구분선을 넣기 위해 Item Decoration을 이용할 수 있다.

  • ItemAnimator: 아이템 추가, 제거, 또는 변경 시 애니메이션을 제공한다.

  • Clickable: 각 아이템은 클릭 가능하며, RecyclerView는 클릭 및 롱클릭 이벤트를 처리할 수 있다. (RecyclerView.Adapter에 setOnItemClickListener, setOnItemLongClickListener 메서드 이용)

  • 동적 데이터 처리: RecyclerView에 연결된 어댑터의 데이터가 변경될 때, 이를 알려주면 RecyclerView는 뷰를 업데이트한다.

RecyclerView의 생명주기

생명주기가 중요한 이유

  • ViewHolder 패턴을 재활용할 때, 불필요한 뷰들이 메모리에 남아 메모리 누수로 이어질 수 있다.

  • onViewRecycled() 메서드를 활용해, 뷰가 재사용되기 전에 이전에 할당된 리소스들을 제거하지 않으면 메모리 누수로 이어질 수 있다.

  • 또한, 스크롤 성능 확보와 동적 데이터 처리를 위해서도 생명 주기를 잘 다루어야 한다.

생명주기들

  • onCreateViewHolder

    • RecyclerView가 처음 생성될 때, ViewHolder를 생성하는 단계로, ViewHolder를 초기화하고 레이아웃을 inflate한다.
  • onBindViewHolder()

    • RecyclerView가 화면에 보이는 항목을 업데이트하는 단계로, viewHolder에 데이터가 연결된다.
  • getItemCount()

    • RecyclerView에 표시될 아이템의 개수를 반환하는 단계다.
  • onAttachedToRecyclerView()

    • RecyclerView가 화면에 표시될 때 호출되는 단계로, RecyclerView와 연결된 작업을 수행할 수 있다.
  • onDetachedFromRecyclerView()

    • RecyclerView가 화면에서 제거될 때 호출되는 단계로, RecyclerView와 관련된 정리 작업을 수행할 수 있다.
  • onViewRecycled()

    • 화면에서 사라진 ViewHolder가 재사용될 때 호출되는 단계로, 이전에 바인딩된 데이터나 리소스를 해제하는 작업을 수행할 수 있다.c

참고 문헌

profile
제가 좋아하는 것은 도가 아니라 기입니다

0개의 댓글