在GridView或者ListView的Adapter中使用Glide加载图片,图片被拉伸问题
来源:互联网 发布:运动仿真软件哪个好 编辑:程序博客网 时间:2024/05/01 12:52
http://www.jianshu.com/p/d8e1710750ce
这个问题来自我的一篇博客为什么图片加载我首先Glide一位网友的评论,我测试了下,还真有,但是要根据图片而定,有些图片一点点的拉伸也看不出来,若原图片有正圆或者正方形的图案偶尔会显示出椭圆或长方形有些明显。
那这个问题的根源是什么呢?为什么显示单张图片没有影响,放在ListView或者GridView中就有问题了,有些百思不得其解,或许跟ViewHolder模式有关吧,但奇怪的是,去其他页面再回来,重新加载一次,又不存在问题。
1、尝试使用其他的加载框架
使用了Volley或者UniversalImageLoader测试,都未出现类似的问题,很奇怪。
2、会不会和Glide本身有关?
加载单张图片是没有问题的,只有在GridView或者ListView的Adapter中使用才有问题。
3、和ViewHolder模式有关?
那又怎么解释再次进去就没问题了,不应该啊!
4、和Glide缓存有关?
第一次进去没有缓存,是从网络获取图片的,再次进去是从缓存读取的,看着有点像,兴奋的测试了下,退出App再进,还是有类似的问题,已经缓存了,怎么还是这问题?
5、放弃Glide,使用其他的框架
Glide内存管理优秀,生命周期联动,支持ViewHolder模式,加载图片还那么流畅,因为这么个小小的问题就换了,不值,还是再想想办法。
6、去百度Google去搜,看看别人有没有解决这问题
百度,一搜一大堆毫不相干的搜索结果,根本找不到想要的,翻墙上Google,还是没找到解决办法,去GitHub上找找别人使用Glide有没有类似的问题,还是没结果,本来想提问的,英文又不咋地,哎……
7、柳暗花明,都是动画惹的祸
之前在写DropDownMenu这个库的时候本来还暗暗自喜比美团还流畅的切换效果时,后来却发现狂点错乱问题,不得不放弃那么好的效果
仔细想想,Glide以加载流畅为主,默认有一个淡出的动画效果,其他的图片加载库是没有的,我的库也是因为动画而错乱,两者皆有动画,或许是动画惹的祸。果不其然,我分别测试了
Glide.with(parent.getContext()).load(urls.get(position)).into(viewHolder.mImage);
添加dontAnimate()属性
Glide.with(parent.getContext()).load(urls.get(position)).dontAnimate().into(viewHolder.mImage);
去掉动画,拉伸问题解决了,哈哈!!
8、结果分析
动画因为某些因素未执行完全,停止了某一个中间的状态,看到这个拉伸的图片(动画未执行完毕的状态),当然,为什么动画为执行完毕,本人就不得而知了。
原文链接:http://www.jianshu.com/p/d8e1710750ce
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
- 在GridView或者ListView的Adapter中使用Glide加载图片,图片被拉伸问题
- 使用glide 时候在listview 或者 grideview 中图片自动拉伸问题
- 当在listview或者viewpager使用adapter填充图片时,使用glide报错问题(tag问题)
- 解决Glide加载图片被拉伸
- 使用glide图片加载框架将网络图片展示并在listview中
- Glide的基本使用以及图片拉伸问题。
- listView或者gridView异步加载图片错乱问题
- glide展示图片的拉伸问题
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
- universal image loader在listview/gridview中滚动时重复加载图片的问题及解决方法
- listview中glide加载网络图片跳跃问题
- ScrollView嵌套listview。listview里面的图片加载用glide,解决图片加载不全的问题
- Glide--在listview中加载高度不固定图片,加载刷新图片跳动解决
- Glide图片被拉伸解决方法
- 【完美解决系列】解决在Android中使用background时导致图片被拉伸的问题
- 使用glide加载图片
- hi~我的第一天
- java导入excel到数据库
- linux下查看nginx,apache,mysql,php的编译参数
- 网络中我关注的那些前辈们的档案(2016.12.28 Updating...)
- MySQL和Oracle的delete,truncate
- 在GridView或者ListView的Adapter中使用Glide加载图片,图片被拉伸问题
- 开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推
- dfs的剪枝问题
- 算法#23--整数反转
- SpringMVC 提交参数的方式和注解详述
- Logstash实践: 分布式系统的日志监控
- 安卓shadow综合控件和布局
- 使用eclipse连接mysql database explorer连接不上的解决办法以及配置
- Android 中使用IDE为Android Studio时候,后台类型从double 改成 int,但是客户端还是显示double问题(JAVA修改Model类型,但是无效)