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

来源:互联网 发布:php值传递和引用传递 编辑:程序博客网 时间:2024/05/18 00:10

这个问题网上也有很多答案了,具体请看郭神的这篇

Android ListView异步加载图片乱序问题,原因分析及解决方案

看完之后是不是有种豁然开朗的感觉?这就对了,郭神的文章就是有这种魔力!!!

可是看完之后也会有些疑问:文章中的第一个方法(设置tag,也是网上经常会说到的一个方法)真的可

以彻底解决 listview 复用引起的乱序问题吗?试一试就知道喽~

我自己用郭神文中的代码试了,虽然在快速滑动过程中不会出现不做任何处理那样图片切换几次的问题,

但是仍然还是会切换一次 。如果你在 getView() 方法中先设置了默认图片,那滑动过程中就是从默认图

片切换到了要加载的图片;如果没有在 getView() 方法中设置默认图片,那滑动过程中就是在复用的那

个 imageView 上已经显示的图片和要加载的正确图片之间切换了。

其实,因为 listview 的复用机制,每次执行到 getView() 方法时获取到的 imgeview 对象都是之前已经加

载过图片的对象,从内存获取或者从网络下载图片总是需要一定的时间,所以总是会闪一次,看到的效

果就是图片切换了一次。

用文中的第二种方法也是会有这个问题。所以要想彻底解决这个问题,只能是文中的第三种方法了。

RecyclerView 也存在同样的问题,可以参考这篇文章:

使用Android Studio 练习RecyclerView 异步加载图片,解决图片乱序问题

很明显是参考郭神的文章改的。

注:以上只是我根据博文实际测试后的个人观点,如果有不对的地方,请指正!

阅读全文
0 0
原创粉丝点击