安卓 listview 中异步加载图片乱序到底该怎么解决

这个问题网上也有很多答案了,具体请看郭神的这篇
Android ListView异步加载图片乱序问题,原因分析及解决方案
看完之后是不是有种豁然开朗的感觉?这就对了,郭神的文章就是有这种魔力!!!
可是看完之后也会有些疑问:文章中的第一个方法(设置tag,也是网上经常会说到的一个方法)真的可
以彻底解决 listview 复用引起的乱序问题吗?试一试就知道喽~
我自己用郭神文中的代码试了,虽然在快速滑动过程中不会出现不做任何处理那样图片切换几次的问题,
但是仍然还是会切换一次 。如果你在 getView() 方法中先设置了默认图片,那滑动过程中就是从默认图
片切换到了要加载的图片;如果没有在 getView() 方法中设置默认图片,那滑动过程中就是在复用的那
个 imageView 上已经显示的图片和要加载的正确图片之间切换了。
其实,因为 listview 的复用机制,每次执行到 getView() 方法时获取到的 imgeview 对象都是之前已经加
载过图片的对象,从内存获取或者从网络下载图片总是需要一定的时间,所以总是会闪一次,看到的效
果就是图片切换了一次。
用文中的第二种方法也是会有这个问题。所以要想彻底解决这个问题,只能是文中的第三种方法了。
RecyclerView 也存在同样的问题,可以参考这篇文章:
使用Android Studio 练习RecyclerView 异步加载图片,解决图片乱序问题
很明显是参考郭神的文章改的。
注:以上只是我根据博文实际测试后的个人观点,如果有不对的地方,请指正!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值