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

Universal-Image-Loader 이미지 깜빡임 문제.

0 추천

Universal-Image-Loader 를 사용하여 ListView 에 있는 ImageView 의 이미지를 로딩합니다.

정상 동작 됩니다.

하지만 ListVIew 의 Item을 더 추가하여 다시 notifyDataSetChanged() 를 호출하면 getView()에서 다시

그리면서 이미지가 까빡이는 현상이 나타납니다.

캐시를 하나 더 만들어 최근 일부를 저장하여 표시하게 하였으나, 이미지의 순서가 뒤죽 박죽 되버리는 현상도

발생하여 현재 어떻게 해야할지 잘 모르겠네요.

고수님들의 답변 부탁 드립니다.

o외계인o (330 포인트) 님이 2013년 9월 10일 질문

1개의 답변

0 추천

원래 notifyDataSetChanged() 를 호출하면 리스트뷰는 자식뷰들을 다시 그립니다.

getView 내에서 UIL로 이미지를 로딩할 때

이미지뷰에 이미 로딩되어 있는 이미지 고유키 (url 같은) 를 로딩할 이미지 고유키와 비교해서

다를 경우에만 로딩 하도록 처리하면 됩니다.

 

b22n (22,940 포인트) 님이 2013년 9월 10일 답변
이미 로딩 되어 있는 이미지의 url 을 체크하여 로딩을 안되게 하였으나, 그렇게 되니 뷰가 재활용 되면서 앞서 로딩 했던것들도 안뜨게 되는 현상이 발생하던데요?
로직을 잘 확인해 보세요. 1. 이미 로딩 되어 있는 이미지 url이 없거나, 2.있는데 그 url이 지금 로딩할 이미지의 url과 다를 때만 로딩해야합니다.
네. 로직을 그런식으로 짰는데요.
Universal-Image-Loader 를 이용했을 경우에 cache 관리가 되면서
기존의 bitmap 이 지워지잖아요. 이런경우에는 다시 로딩을 해야 하는게
맞지 않나요?
...