마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

ListView에 ImageView 로딩 문제입니다.

+1 추천
리스트뷰에 각 로우별로 이미지뷰가 있습니다.

이미지뷰에 들어갈 이미지는 getview 호출시 AsyncTesk 를 통해서 다운로드하고있습니다.

문제는 예를들어 1,2번 로우만이 화면에 노출되어있고

 아직 화면에 노출되지않아 어뎁터의 getView 가 호출되지않는 row들을 스크롤하여 화면에 노출시킬때

새로운 row 의  다운로드가 이루어지는 아주짤막한시간동안 1,2번 로우의 데이터(이미지)가 노출되는 현상이 일어납니다.

로딩속도의 개선문제를위해 비트맵캐싱이나 getView함수안에 뷰홀더 패턴은 적용시켰는데 해결이안되어 질문드립니다.

 

쉽게설명하고싶은데 필력이 딸려서 죄송합니다. 코드는 보여드리는 의미가없을것같아서 카피하지않았습니다 도움부탁드려요^^
tjdrnr (190 포인트) 님이 2015년 2월 12일 질문
자답입니다.
AsyncTesk에서 다운로드 받기전 onPreExecute() 함수에서 이미지뷰의 비트맵을 null로 만들어주었습니다.

1개의 답변

0 추천
잘하셧습니다. 자답으로 찾으신게 정답입니다.
getView에서 getTag로 Holder의 객체를 가져온 직후 바로 해당 이미지뷰의 비트맵을 null 처리해주셔도됩니다.
갸아악 (21,260 포인트) 님이 2015년 2월 12일 답변
...