안드로이드 개발 질문/답변
(글 수 45,052)
갤러리를 구현하고있습니다. 갤러리를 구현할시 한 30장 ~ 100장의 이미지를 sdcard에서 불러와서 갤러리로 표현을 하는데
스크롤로 이동시 화면이 버벅거리는 현상이 있습니다. 어떻게 하면 좋을가요? 쓰레드로 돌려봐도 버벅거리는 현상은 그대로이네요
bitmap자체를 불러오는 것이 버벅거리는 현상을 나타내는것인가요?
스크롤로 이동시 화면이 버벅거리는 현상이 있습니다. 어떻게 하면 좋을가요? 쓰레드로 돌려봐도 버벅거리는 현상은 그대로이네요
bitmap자체를 불러오는 것이 버벅거리는 현상을 나타내는것인가요?
2010.07.19 07:28:19
bitmap을.. 원래 사이즈 그대로 가져와서 ImageView 에 붙이고 계시다면.. 부하가 많이 걸리죠
이거같은 경우 bitmap 을 thumbnail 에 쓸만큼 줄인다음에 ImageView 에 적용하여 주시는 것이
훨씬 효율적입니다.
2010.07.19 10:20:29
음...제 개인적인 경험으로는 Gallery 의 경우에는 스크롤을 할 때 마다 매번 View 가 새롭게 생성되더군요. (아무리 생각해도 버그성...), 따라서, 화면이 스크롤 될 때마다, 매번 이미지를 로드해오고 있을지도 모르겠습니다. 한번 확인해 보셔도 좋을 듯. (저는 갤럭시S 에서 확인)
2010.07.19 10:39:51
버벅 거리는 건 adapter에서 getView가 실행될때마다 새로 불러와서 그런거구요. adapter를 상속 받아서 다시 구현하실때 viewholder 패턴으로 개발하시면 그런 현상이 개선됩니다. 하지만 처음 스크롤일때는 여전히 버벅 거릴텐데 이 부분은 이미지 로드 자체 부하여서 이미지 로드하는 기능을 하는 함수를 만드셔서 thread로 로드 한다음에 바인딩 하시는 걸 따로 개발하시면 됩니다.
2010.07.20 00:15:01
일단 계속적으로 개발중입니다. viewHolder패턴도 사용해보고 했지만....여전히 버벅거리더군요....훔........결과나오는대로 알려드리겠습니다.
2010.07.28 10:18:45
울라울라울라라님 혹시 해결 하셨나요? 저도 여기 저기 검색하다가 그래도 조금 낫은 방법으로 개선한 부분이
ContentResolver crThumb = getContentResolver();
int pos = Integer.parseInt(thumbsIDList.get(position));
Bitmap bmp = Images.Thumbnails.getThumbnail(crThumb,
pos, Images.Thumbnails.MICRO_KIND, null);
imageView.setImageBitmap(bmp);
이렇게 getview에서 로딩 하니 전보다는 버벅거리지 않으라구요....하지만 여전히 조금 끊기는 문제는 있는데....
아직 방법을 못찾아서 ㅠㅠ 혹시 개선되셨나요?
ContentResolver crThumb = getContentResolver();
int pos = Integer.parseInt(thumbsIDList.get(position));
Bitmap bmp = Images.Thumbnails.getThumbnail(crThumb,
pos, Images.Thumbnails.MICRO_KIND, null);
imageView.setImageBitmap(bmp);
이렇게 getview에서 로딩 하니 전보다는 버벅거리지 않으라구요....하지만 여전히 조금 끊기는 문제는 있는데....
아직 방법을 못찾아서 ㅠㅠ 혹시 개선되셨나요?