Android ListView 커스터마이징 및 성능 최적화
Source
Evernote/Technote scraps/Being Myself 안드로이드 012 ListView 꾸미기 & 최적화 하기 12.md
Summary
이 문서는 Android ListView의 UI 커스터마이징 방법과 성능 최적화 기법을 다룹니다. XML 레이아웃 적용과 Adapter의 getView() 오버라이딩을 통한 동적 꾸미기를 소개합니다. 성능 최적화 측면에서는 convertView 재활용을 통한 View 생성/파싱 비용 절감과 ViewHolder 패턴을 통한 findViewById() 호출 최소화 방법을 설명합니다.
Key Points
- ListView의 행(row) 디자인은 연결된 Adapter에 의해 결정되며, XML 레이아웃 적용 또는 getView() 오버라이딩을 통해 커스터마이징 가능
- getView()는 화면에 표시되는 행마다 호출되며, 매번 새로운 View 생성과 XML 파싱은 배터리 소모와 UI 지연을 유발
- 성능 최적화 1: getView()의 convertView 인자를 활용하여 이전에 생성된 View 객체를 재활용하여 불필요한 생성/파싱 방지
- 성능 최적화 2: ViewHolder 패턴(Wrapper 클래스)을 사용하여 findViewById() 호출을 최소화하고 위젯 인스턴스를 캐싱