2012-12-21 1 views
0

그래서 맞춤형 배열 어댑터에 연결 한 이미지 및 일부 텍스트가있는 목록보기가 있습니다. 내가 직면하고있는 문제는 이미지가 여전히 좋아하기에 너무 느리게로드된다는 것입니다. 나는 구글 테크 토크를 지켜 봤고 convertView에 의해 뷰를 재사용함으로써리스트를 최적화하려고 시도했다. (null 인 경우 엔 부 풀기, 그렇지 않으면 resuse). BitmapFactory.Options inSampleSize가 2의 거듭 제곱으로 설정된 비트 맵을로드하기 위해 AsyncTasks를 생성했습니다. 이는 이미지가 상대적으로 작기 때문입니다. 또한 ViewHolder 패턴을 사용하여 findViewById 호출을 줄였습니다.Android ArrayAdapter 성능을 향상시키기 위해 캐시 된보기를 늘림

그러나이 경우에도 내 목록을 스크롤 할 때 위아래로 스크롤 할 때 이미지가 지속적으로 업데이트되기 때문에 convertView가 어떻게 재사용되고 있는지 매우 눈에.니다.

재고 사진에서 눈에 띄는 것은 내가 가지고있는 수백 장의 사진과 함께 내가 빨리 스크롤하면 처음에는 사진이 천천히로드되지만 캐시됩니다. 캐시 된 양은 화면에 표시 할 수있는 것보다 많습니다. 따라서 스크롤 할 때 처음에는 캐시 된 사진의 양을 스크롤 할 때까지 사진이 원활하게로드되고 다시 사진이 다시 눈에 띄게 나타납니다.

ArrayAdapter에서이 작업을 수행 할 수있는 방법이 있습니까? 기본적으로 사용자가 빨리 스크롤 할 때 내 목록보기 (내 화면이 표시 할 수 있음) 내에서 9 개 이상의 뷰를 저장하면 convertView가 재사용되기 전에 사용자가 많이 스크롤해야하므로 눈에 띄는 이미지 다시로드합니까?

고맙습니다.

답변

0

여러 병렬 스레드를 사용하여 이미지를 백그라운드에서로드하십시오.

예 : Sending Operations to Multiple Threads; 샘플 앱은 Picasa 추천 사진 RSS 피드에서 미리보기 이미지를 다운로드합니다. 희망이 도움이됩니다.