ViewHolder 란 ?
각 View들을 보관하는 Holder 객체.
RecyclerView & ListView 에서 사용되는 디자인패턴입니다.
RecyclerView 에서 만약 여러가지 data가 적을땐 동작이 잘 될것입니다.
하지만 data가 만약 많은 처리를 요구할때 동작에 영향이 지체됩니다.
그걸 개선하기위해 나온 디자인 패턴이있습니다
그 디자인 패턴이 바로 ViewHolder - pattern 입니다.
보통 ViewHodler 패턴은 RecyclerVIew 와 같이 쓰입니다.
그럼 ViewHolder - pattern 에대해 알아봅시다
ViewHolder - pattern
RecyclerView 에서 스크롤 할동안 findViewById() 를 자주호출 하게되면 성능이 저하되겠죠?
처리할 data가 증가할경우 호출해야하는 수 도 증가해서
성능도 저하되게 됩니다 ViewHolder - pattern 은 그런점을 보완해서
ViewHolder 객체는 layout 태그 필드 안에 각 View 를 저장하기 때문에
반복적으로 조회하지 않고 즉시 엑세스가 가능합니다!
즉 반복적으로 findViewById() 를 호출해주지않아도 사용가능하다는겁니다.
이제 사용 방법을 알아봅시다 ~
먼저 ViewHolder - pattern 을 사용해 RecyclerView 를 구현하기위해선
RecyclerView 의 Adapter에
꼭 구현해야하는 3가지 메서드가 있습니다.
1. onCreateViewHolder = ViewHolder 객체를 생성
2. onBindViewHolder = ViewHolder 에 data 를 넣는 작업 수행
3. getItemCount = data의 갯수를 반환 해준다
이렇게 3가지의 메서드를 꼭 구현해줘야합니다.
더 자세한 내용을 확인하고 싶으면 아래 사이트를 참고해주세요.
https://developer.android.com/training/improving-layouts/smooth-scrolling#ViewHolder