ViewHolder 객체는 레이아웃의 태그 필드 안에 각 구성 요소 뷰를 저장하므로 반복적으로 조회하지 않고도 즉시 엑세스가 가능하다.
10개의 데이터를 리스트 뷰로 나타내면 빠른 속도로 나타난다.
이를 1000000개의 데이터를 가진 리스트를 생각해보자.
리스트 뷰로 표현한다면 매번 findViewById()를 호출할 때 매우 큰 비용이 들기 시작한다.
직접 해보면 더 도움이 되겠지만, 스크롤을 내릴 때 많은 비용을 요구하고 결국 속도 저하가 나타난다.
즉, 리스트뷰에서 스크롤하는 동안 findViewById()를 자주 호출해서 성능이 낮아질 수 있다.
이를 재활용하기 위해 inflate된 뷰를 반환하는 경우에도 findViewById()로 요소를 찾아보고 업데이트 해야한다.
findViewById()를 반복 호출하는 경우 뷰홀더 패턴을 사용할 수 있다.
그래서 뷰폴더 패턴이 나타났다!
inflate ?
리사이클러 뷰에서 아래 3가지의 메서드는 필수 오버라이딩해야 한다.
RecyclerView를 사용하려면 2가지가 필수로 필요하다.