공부/Android

Android ListView 최적화방법 세가지

JangGiraffe 2015. 11. 3. 11:10

ListView를 최적화시키려면 getView를 최적화시켜야한다.

 

첫번째 방법은 item xml을 최적화시키는건데 LinearLayout을 여러개 사용한다면 RelativeLayout을 사용해서 레이아웃의 숫자를 줄이는것이다.

두번째 방법은 뷰의 재사용이다.

getView에 이런 [View itemLayout = inflater.inflate(R.layout.list_view_item_layout,null);
 item이 생성될 때 마다 실행되니 이런걸 줄여서 속도를 상승시킨다.

view가 얼마나 생성되는지 보는 방법
D:\Users\Jang\AppData\Local\Android\Sdk\platform-tools>adb shell dumpsys meminfo 16361(앱의 시스템번호임)

 

해결방법 >> 스크롤시 사라지는 뷰를 새로 생성되는 뷰에 재사용하기

 

 

 

 

 

 

세번째 방법 View Holder 사용하기

 

findViewById를 사용하면 모든 뷰를 계속 다찾아보니깐..
View Holder는 findViewById를 이용해서 한번 찾았던 뷰에 대해서는 더이상 검색하지 않고 저장해두는 방식이다.

1. Adapter 클래스에  뷰홀더 클래스를 생성

 

 

2. getView 함수 수정.
 [그림 이전함수와 수정 후 함수]

 

 

 


 

반응형