Android ListView 최적화방법 세가지

2015. 11. 3. 11:10·공부/Android

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 함수 수정.
 [그림 이전함수와 수정 후 함수]

 

 

 


 

반응형
'공부/Android' 카테고리의 다른 글
  • [scrollview match_parent not working] ScrollView의 match_parent가 안먹힌다면?
  • Content Provider
  • Listview의 setOnItemClickListener가 안먹힌다면?
  • android Google map v2 마커 간단하게 바꾸기.
JangGiraffe
JangGiraffe
안녕하세요~ 반갑습니다! 머무시면서 즐거운 시간 보내시길 바랍니다. 오픈카톡 : https://open.kakao.com/o/sYEBs0uh
  • JangGiraffe
    giraffe1010
    JangGiraffe
  • 전체
    오늘
    어제
    • 분류 전체보기 (390) N
      • 공부 (155) N
        • AI (3)
        • Spring (10)
        • JAVA (31)
        • python (6)
        • 기타 (12) N
        • 메세지 (3)
        • Jsp,Servlet (4)
        • HTML (12)
        • Javascript (6)
        • C#,ASP.NET (2)
        • WEB (2)
        • DB (11)
        • Android (18)
        • [BaaS]Parse.com (4)
        • 졸업프로젝트 (4)
        • AWS,네이버클라우드플랫폼 (2)
        • Ubuntu (6)
        • maven (1)
        • 자료구조 (15)
        • 서버 (3)
      • 게임 (0)
      • 관심 (22)
        • 사진 (1)
        • 패스오브엑자일(POE) (1)
        • 월드오브워크래프트 (4)
        • 블로그 (7)
        • 이슈 (1)
        • IT (5)
        • 기타 게임 (3)
      • 자료 (2)
        • 면접 (2)
      • 먹거리 (103)
        • 음식리뷰 (99)
        • 카페리뷰 (4)
      • 여행 (35)
        • 국내여행 (23)
        • 해외여행 (12)
      • 생활정보 (68)
        • 생활정보 (33)
        • 상품리뷰 (34)
        • 세미나후기 (1)
      • 끄적끄적 (5)
        • 영화후기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 문의(카톡)
    • 방명록
  • 링크

    • 2zino
    • wildbluffer
  • 공지사항

  • 인기 글

  • 태그

    발산맛집
    와우
    제주도맛집
    양양 가볼만한 곳
    홍대맛집
    자취
    돈벌기
    김포맛집
    시즈오카
    가양맛집
    왕십리맛집
    맛집
    떡볶이
    강원도여행
    강서구맛집
    ChatGPT
    마곡맛집
    월드오브워크래프트
    오징어난전
    발산 회식
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
JangGiraffe
Android ListView 최적화방법 세가지
상단으로

티스토리툴바