发布了29 篇原创文章 · 获赞 5 · 访问量 8万+
发布了29 篇原创文章 · 获赞 5 · 访问量 8万+
关于ListView的优化网上有不是的文件介绍,比如:
这个地方有一种很常见的情况未说明:
当被缓存的convertView里面包含ImageView并且图片数據又是从网上获取的时候就会出现ListView中某个和多个位置的图片不断变换的问题。
原因是被缓存的convertView并不只是缓存了View的结构而是把上个View全部內容都缓存了包括图片。这就造成每次都先显示已经出现的图片然后才被替换为正确的图片。
而图片的不停变换的问题则是如下代码的原因:
勉强接受第二种做法而且是只new imageview,然后再添加到itemView中去
我自己的做法是自定义imageView再其中添加刷新drawable的方法
比如一页正常显示7个item ,当向下滑动一个条目的时候由于listView的复用原则,如果不什么昰异步加载载虽然第一块和第八块指向的是同一个View,但是此时已经刷上了 第8个item 的数据 而此时的第一块数据 也显示的是第八块数据,只昰我们看不到而已因为此时第一块和第八块指向的是同一块内存。
但是当出现什么是异步加载载的时候如果2个item加载图片 有快有慢 ,所鉯慢的一块没加载出来 会显示快的一块,因为他们指向的是同一块内存所以当设置tag的时候,tag的标示永远是可见的View的url
并且判断convertView 是否为空如果为空,填充想要展示的item布局
----以下是什么是异步加载载图片 通过判断tag的方式