아틴
Atin
아틴
전체 방문자
오늘
어제
  • 분류 전체보기 (460)
    • Devlopment (246)
      • 정리 글 (20)
      • MicroServices (0)
      • Reactive, Concurrenc.. (12)
      • Java (44)
      • Spring (20)
      • C,C++,Ruby,Python (52)
      • Mobile (39)
      • Web (35)
      • Tip & Info (14)
      • Unit Test (7)
    • Infra (44)
      • OS (21)
      • RDBMS (13)
      • NoSQL&Cache (5)
      • AWS (4)
    • Computer Science (11)
    • Etc (156)

블로그 메뉴

  • Home
  • Guestbook

공지사항

인기 글

태그

  • C
  • 정읍
  • jsp
  • 여행
  • Ruby on Rails
  • Python
  • mysql
  • Dungeons & Dragons
  • TRPG
  • 던젼 앤 드래곤즈
  • 안드로이드
  • Java
  • Linux
  • 해킨토시
  • javascript
  • 전라도
  • Android
  • 자바
  • 아이폰
  • CSS

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아틴

Atin

Devlopment/Mobile

안드로이드 ListView구현시 Adapter의 getView 중복 호출 문제

2011. 7. 11. 17:11
반응형
부왘ㅋㅋㅋㅋㅋㅋㅋㅋ!!

오랜만에 미친듯한 삽질을 경험하게 해주는 안드로이드에게 경의를 표한다.
안드로이드 개발을 하는 중에 내가 만든 페이지가 자꾸 느려지는 현상을 발견하고 로그를 찍어서 로그캣에서 느려지는 구간을 찾았다. 문제는 이 문제점을 찾는데 너무 많은 시간을 소비했다.

나의 코딩 스타일에 문제가 있나 의구심이 들었는데, 안드로이드만에 독특한 문제였다.

문제점은 레이아웃 xml에 있었는데 ListView를 구현할 때 getView가 중복 호출되면서 미묘하게 시간을 잡아먹는 문제였다.

찾아보니 많은 사람들이 나와 같은 문제를 겪고 있었다.

Reference
[1] 해결법 1 :  http://www.androidpub.com/41674 
[2] getView 호출에 대한 좋은 설명을 해주신 개발자분 : http://myelf.egloos.com/2723978
[3] getView를 구현할 때 성능을 고려한 좋은 설계 방안 : http://blog.naver.com/PostView.nhn?blogId=dythmall&logNo=30095935698&parentCategoryNo=8&viewDate=&currentPage=1&listtype=0

결론
결론은 위의 [1]에서 나온대로 xml파일에서 크기를 wrap_content로 지정해준 것이었다.
그런데, 나의 경우는 상위 뷰의 가로세로를 fill_parent로 지정해주었음에도 불구하고 자꾸 중복호출되는 문제가 생겼다. 이유는 상위 뷰만이 아니라 ListView 자신의 가로세로 크기도 꼭 fill_parent로 해주어야 했다.



 
반응형

'Devlopment > Mobile' 카테고리의 다른 글

[안드로이드] TabActivity에서 startActivityForResult의 결과 받기  (0) 2011.08.01
java.io.IOException: Unable to open sync connection! 해결법  (6) 2011.07.12
ListView 스크롤시 검은색 배경으로 바뀌는 문제  (0) 2011.07.12
안드로이드 GPS 위치 수신  (0) 2011.07.12
Android 타이틀 바 관련.  (0) 2011.07.11
[Android] 알림 - AlertDialog, Toast  (0) 2011.06.27
모바일상에서의 Network Programming  (1) 2011.06.23
Android Sensor 활용  (0) 2011.06.22
Android 진동 다루기  (0) 2011.06.22
Android Camera  (0) 2011.06.22
    'Devlopment/Mobile' 카테고리의 다른 글
    • 안드로이드 GPS 위치 수신
    • Android 타이틀 바 관련.
    • [Android] 알림 - AlertDialog, Toast
    • 모바일상에서의 Network Programming
    아틴
    아틴

    티스토리툴바