listview复用 图片乱跳

假如手机屏幕有100条数据,一屏显示7条(1-7),那么当手指向上滑动的时候,此时第一条还能看见,第八条显现出来,再往上滑动,第一条看不见,第八条完全显示,但是第九条不出来,此时再往上滑动,第九条显示出来了,就会复用第一条的数据,此时listview如果加载图片分两种:1:不进行异步请求,即加载本地图片,流程是这样的,先显示item1的图片,当item1消失时,item9显示出来,此时item1和item9指向同一块内存区,就会显示item9的图片,有人可能会问,不是复用吗,为什么不显示item1的图片那,因为每个item都是要先加载自己的东西,再复用(可以理解为先加载item9再加载item1,此时内存区就是item9的图片,item1和item9都指向这个item9的图片,所以item1和item9显示的数据是一样的),所以item9先加载自己的,此时item1已经看不见了,此时如果手指往下滑动,item1显示item1的图片,内存区就显示item1的图片了。2:但是异步加载,有可能item9的图片先加载出来(图片,或者网速原因),此时显示item9图片(item1 == item9),但是当item1加载出来图片之后,内存区域就又会显示出来item的图片了,所以造成了图片乱跳的问题了。不知道大家感觉对不,反正我是一只这样理解的。listview复用 图片乱跳_第1张图片

你可能感兴趣的:(android)