오늘은 Android Jetpack의 구성요소인 RecyclerView에 대해 알아보려고 합니다.
제 정보가 부족하시다면 다른 포스트도 함께 보는 것이 좋을 것 같습니다.
RecyclerView가 뭐야?
RecyclerView는 이름 그대로 "뷰를 재사용" 합니다. 이와 비슷한 View로 ListView를 꼽을 수 있습니다. RecyclerView는 ListView의 단점을 보완한 View라고 할 수 있습니다. 그 이유는 여러 가지가 있지만 가장 큰 이유는 View의 재사용성이 훨씬 더 좋기 때문입니다.
ListView는 "각 뷰를 보관하는 Holder 객체" ViewHolder 패턴을 이용하지 않습니다. getView()라는 함수를 이용하여 View에 접근하는데, 이처럼 getView()로 접근하게 되면 리스트의 개수만큼 getView()를 호출하기 때문에 매우 비효율적입니다. 하지만 RecyclerView는 ViewHolder라는 View를 Hold 하는 객체를 재사용하므로 ListView보다 RecyclerView가 재사용 부분에서 더 효율적이라 할 수 있습니다.
RecyclerView에 자주 보이는 놈들!
LayoutManager
- 가장 일반적인 레이아웃 상황을 처리하는 3가지 레이아웃 관리자
함수 이름 | 함수 설명 |
LinearLayoutManager | 가로/세로 레이아웃 배치를 담당 |
GridLayoutManager | 그리드 형식 레이아웃 배치를 담당 |
StaggeredGridLayout | 지그재그 형식 레이아웃 배치를 담당 |
Adapter
- 보이는 View와 그 View에 올릴 데이터를 연결한다. View와 Data의 다리 역할을 하는 객체. (View -- Data)
ViewHolder
- 각 View들을 보관하는 Holder 객체.
RecyclerView가 활용되는 사례?
전화번호 목록은 가장 대표적으로 사용되는 사례로 이미지 처리를 할 땐 Glide, 나머지는 TextView로 구현한다.
이 글을 마치며
지금까지 RecyclerView에 대해 알아보았습니다. LayoutManager에 대해 찾아보거나 Glide가 무엇인지 찾아보면 좋을 것 같아요😁
참고
'Android > Kotlin' 카테고리의 다른 글
[Android/Kotlin] LiveData에 대해 알아보자! (0) | 2022.04.26 |
---|---|
[Android/Kotlin] ViewModelFactory를 사용하자! (0) | 2022.04.20 |
[Android/Kotlin] Intent를 사용하자! (0) | 2022.03.25 |
[Android/Kotlin] Collection에 대해 알아보자 (0) | 2022.03.22 |