본문 바로가기
android

[android/안드로이드] 리스트뷰 vs 리사이클러뷰 차이점, 리사이클러뷰 개념

by 래끼 2022. 4. 23.
728x90
반응형

 

 

👉 제가 개인적으로 공부한 내용을 정리해둔것이라 일부 정확하지 않은 정보가 있을 수 있습니다. 

 

 

❓ 리스트 뷰 (listView) vs 리사이클러뷰 (recyclerView)

" 사용자가 화면을 위에서 아래로 스크롤 하는 상황일 때 "

- 리스트뷰(listView) : 첫번째 itemView를 삭제하고 아랫부분에서 새롭게 보일 itemView 객체를 새로 생성한다. 스크롤을 위아래로 몇번 반복하다보면 수백, 수천개의 itemView가 생성되어 낭비가 심할 수 있다.

- 리사이클러뷰(recyclerView) : 첫번째의 itemView를 삭제하지 않고 아래쪽에서 새로 나타날 위치로 이동시켜 재사용된다.

 

리스트뷰와 리사이클러뷰의 큰 차이점은 itemView가 재사용되는거의 차이에 있다.

 

 

❓ 리사이클러뷰 구조

- data list : 리사이클러뷰 안에 들어갈 data 목록이다. 리사이클러뷰 안의 itemView에 들어갈 data들이 dataList안에서 가져와서 binding 된다고 생각하면 된다.

- Adapter : 리사이클러뷰위에 itemView객체를 생성하고 만들어진 itemView에 dataList속 data를 가져와서 binding시켜주는 중간다리역할을 한다고 생각하면 된다. itemView 객체를 실질적으로 생성하고 데이터와 연결시켜주는 작업을 한다.

- Layout Manager : 아이템들을 배치할 수 있는 형태를 결정할 수 있게 해준다. 수직으로 나열할지, 수평으로 나열할지. 격자로 나열할지 등등

- ViewHolder : viewHolder는 이름처럼 생성된 view객체들을 holding해주는 역할을 한다. 리사이클러뷰는 처음 몇개의 itemView를 생성하고 이것들을 계속 재활용하는데 생성된 itemView 객체가 한번 사용되고 사라지지않도록 viewHolder라는 객체에 담아준다.

 

🧚‍♀️ viewHolder안에 담겨있는 itemView들이 재활용되고 이 itemView들의 data가 binding 되는 것이다 🧚‍♀️ 

 

 

 

728x90
반응형

댓글