2011-09-24 4 views
0

ListView에 이미지가있는 경우 분명히 한 번에 메모리에 저장된 모든 이미지를 가질 수 없습니다 (너무 큼). 이러한 이미지는 사용자가 목록을 이동할 때 인터넷에서 다운로드되므로 화면에서 나가면 다시 이미지를 메모리에서 제거하고 다시 스크롤하면 바보입니다.큰 ListView 이미지에 캐시 가능

평균 이미지 크기는 약 40킬로바이트 대략 500 X 500

해야하는 I :

1) 화상은 오프 스크린 & 디코드 화상을 압축하고, 바이트 등의 데이터베이스에 저장되면 []를 선택하면 사용자가 항목으로 다시 스크롤하면 UI 스레드의 이미지 위에 '로딩'기호가 표시되며 백그라운드에서 이미지를 디코딩하는 동안 (스크롤을 지연시키지 않도록)이 종료시이 데이터베이스를 지 웁니다. 또는 100 이미지보다 큰 경우 나는 영상 복호화하는 (초 미만) 상대적으로 빠른 있으리라 믿고있어

또는

2

) 파일 시스템에 이미지를 저장하고 데이터베이스에 위치, 이미지를 가져올 때 사용자가 스크롤 항목을 선택하고 종료시 또는 파일 시스템이 가득 차면 db 및 파일 시스템에서 이미지를 제거합니다 (옵션 1보다 전화기에서 더 많은 공간을 차지하는 것처럼 보입니다). 이것은 또한 데이터베이스와 파일 시스템을 '동기화'상태로 유지하는 것이 더 어렵고 성가시다.

또는

3) 귀하의 제안 = D 당신의 도움 :) 난 강력 WebImageView의 Droidfu 라이브러리의 일부를 사용하는 것이 좋습니다

답변

관련 문제