社区
Qualcomm 开发者论坛
帖子详情
ListView 中图片错位的问题是如何产生的?
weixin_28728403
2020-02-27 02:22:49
ListView 中图片错位的问题是如何产生的?
...全文
538
回复
打赏
收藏
ListView 中图片错位的问题是如何产生的?
ListView 中图片错位的问题是如何产生的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38498942
2020-02-27
打赏
举报
回复
异步加载及对象被复用可能会造成此现象。
listview
图片
异步加载
图片
错位
软引用 getView调用次数 convertView重用
ListView
异步加载
图片
,
图片
错位
问题
解决方案 *
问题
分析:我们在使用AsyncTask异步下载
图片
的时候,经常会用到convertView的重用,一般情况下,滑动后第一个可见的元素(我们给它命个名,称为A1)和 *
listview
的第一个元素(A)是公用一个convertView的(一般情况),此时
问题
就来了,如果异步下载
图片
执行的比较慢,第一个元素对应的url * 下载的
图片
会放到第一个元素上面还是滑动后第一个可见的元素上面呢? * 解决方案:给每个
listview
的ImageView设置tag,使用findViewWithTag()的方式来得到ImageView,此时
图片
就不会
产生
错位
了。而且 * 值得注意的是,由于A和A1使用同一个convertView,因此如果A
中
的ImageView已经有值得话,当A2展示的并且它所对应的
图片
还未加载完成的时候, * A2会显示A上的
图片
,这明显是不对的,因此我们这里给它设置一个默认的icon,即mHolder.mImageView.setImageResource(R.drawable.ic_launcher); * 思路简介:一般
listview
中
涉及到
图片
加载的,为了提高用户体验,一般会使用一个软引用和存文件的方式来实现。不过还见过这样来实现的:即用一个HashMap来存放很小一部分的数据, * 当HashMap
中
的大小达到一定的值时,清空HashMap,并且将数据放入软应用
中
。 * 注意操作sdcard权限已经网络访问权限的加入
imageCache
listview
加载
图片
工具, 1、适用范围:
listView
/GridView/ViewPager等使用Adapter适配图文混排, 2、列表上下滚动时
图片
会
产生
错位
现象的解决:使用唯一标志位tag(可以是
图片
的url)进行标记。
3、列表上下滚动时多条线程重复下载同一张
图片
造成资源浪费
问题
的解决:同步监视器和tag配合使用。
4、
图片
缓存
问题
,使用内存缓存和SDCard缓存,优先查找一级缓存,其次查找二级缓存,均无时下载,下载完毕后添加到两个缓存
中
5、其它
问题
:设置默认
图片
、
图片
尺寸、OOM。
Android核心组件
ListView
详解
在Android所有常用的原生控件当
中
,用法最复杂的应该就是
ListView
了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。
ListView
可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。 另外
ListView
还有一个非常神奇的功能,我相信大家应该都体验过,即使在
ListView
中
加载非常非常多的数据,比如达到成百上千条甚至更多,
ListView
都不会发生OOM或者崩溃,而且随着我们手指滑动来浏览更多数据时,程序所占用的内存竟然都不会跟着增长。那么
ListView
是怎么实现这么神奇的功能的呢? 下面我们来学习它,了解了它的基本工作原理,在感叹Google大神能够写出如此精妙代码的同时我也有所敬畏.1,
ListView
介绍; 2,原理讲解; 3,简单实现; 4,
ListView
扩展;
android
listview
列表实现倒计时,类似商品抢购列表
实现
listview
列表倒计时,类似商品抢购列表,,不会因为复用
产生
错位
,以及数据的错乱,解决了
图片
每次刷新时闪烁
问题
Qualcomm 开发者论坛
949
社区成员
5,234
社区内容
发帖
与我相关
我的任务
Qualcomm 开发者论坛
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
复制链接
扫一扫
分享
社区描述
为开发者提供高通丰富的解决方案及全面技术下载内容。本版以AI人工智能、WoS移动笔记本、XR、IoT 物联网、Auto 汽车、生成式AI等核心板块组成,为开发者提供一个便捷及高效的学习交流平台。
人工智能
物联网
机器学习
企业社区
北京·东城区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章