URL로 이미지를 가져오는경우 이미지가 조금이라도 크면 (실험시 127KB) UI가 이상하게 업데이트가 됩니다.
먼저 GridView를 이용했고, adapter의 getView 에 이미지를 업로드하는 Aquery를 이용했습니다.
해당 GridView는 ScrollView안에 있기 때문에 각 View들의 높이값을 알아낸후 UI를 업데이트하는 것 한개,
그 후 notifydatasetchanged를 하니
정말 희안하개도 간헐적으로 2번째 줄에 첫번째 이미지만 1번째줄의 첫번째 이미지가 나오게 됩니다.
그러니까 .
1(서버등록) 2(서버등록) 3 4 5
6(이상하게 1번이미지가보임) 7 8 9 10
그래서 아마도 adapter에서 convertView를 재사용하기 때문에 발생되는거라고 보는데요.
여기서 notifydatasetchanged를 제거하면 이런 증상은 사라지게 됩니다.
notifydatasetchanged가 정확히 어떤 시점에서 호출되는건가요 ?
sdk로 소스코드를 추적한결과, 내부의 observer객체가 onChanged하는 순간이고, 이는 Gridview에서 GridView의 자식이 requestLayout을 한결과인데 어느곳에서도 notifydatasetchanged가 호출되는지 알수가없습니다. ㅠㅠㅠ..