解决RecyclerView图片错位

加载图片用的是ImageLoader。

1:先将图片预设为本地一个占位图片。(重要!很多错位情况在于复用了其他位置的图片缓存,而当前图片迟迟加载不出来,导致当前图片错位。所以解决之道是先用本地占位图片,快速刷新当前图片。等加载完毕之后,就可以替换掉占位图片了。);

2:通过ImageView.setTag,把url记录在图片内部;

3:把url放进一个请求队列,(这是避免图片很大,请求耗时很长,重复发起url请求);

4:如果请求队列存在url,则将老的url对应图片控件,替换为本次请求图片控件,返回;

5.如果当前url和第一步ImageView.getTag一致,则用新的数据源更新图片,否则返回;

6.如果是重复使用的图片,最好就是访问之后,写入到本地存储上,避免耗时网络请求。

然后当图片url为null的时候,该条item的图片会来回跳转,然后我将加载图片的框架更改为glide框架就解决此问题了。

你可能感兴趣的:(RecyclerView,图片错误)