Android使用Glide加载带图片列表时,快速上拉加载更多会闪烁
16lz
2021-01-26
Android使用Glide加载图片刷新时会闪烁
现在我们大部分人在使用图片的加载框架时都是用的Glide,而我们在利用Glide加载带图片的列表时,快速的上拉加载更多,就不可避免的出现图片闪烁的问题(先显示别的图再刷新回正确的图)。解决的方法格式各样,什么都有。
方法1
设置tag,反正我试的各种设置tag的方法,都是无效的。(具体怎么设置,百度吧)
方法2
设置默认图片,但是我设置也是无效的
.placeholder(R.drawable.head_default)
方法3
说是由于设置了setImageDrawable导致的,所以我修改成了下面这样,怎么说呢,加载一两页还行,加载多了还是会出现闪烁的情况
Glide.with(imageView.getContext()) .load(url) .placeholder(R.drawable.head_default) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(new SimpleTarget<GlideDrawable>() { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { imageView.setImageDrawable(null); imageView.setBackground(resource); } });
方法4
去掉RecyclerView的默认动画,还是无效。
((SimpleItemAnimator) rlv.getItemAnimator()).setSupportsChangeAnimations(false);
方法5
设置Glide的不要跳过缓存,无效
.skipMemoryCache(false)
方法6
去掉Glide的过度动画,突然发现正常了。
.dontTransform()
最后我使用的公共加载图片的方法如下:
Glide.with(imageView.getContext()) .load(url) .skipMemoryCache(false) .dontTransform() //解决了图片闪烁的问题 .placeholder(R.drawable.head_default)//加载默认图片 .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(new SimpleTarget<GlideDrawable>() { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<? super GlideDrawable> glideAnimation) { imageView.setImageDrawable(null); imageView.setBackground(resource); } });
最后说一句,我后面测试发现当加载图片列表很多,速度很快时,还是会出现图片的闪烁,我不知道该怎么解决了。希望大家评论告诉一下我
更多相关文章
- Android状态栏右侧添加图标并控制其显示状态
- Android简易实战教程--第二十八话《加载大图片》
- Android蓝牙开发全面总结
- android 将res内图片文件通过Bitmap对象存到手机本地中
- Android回调函数机制那点事
- Android开发自己的桌面应用,Luancher原来也是如此简单(上)
- Android仿百度加载动画
- android DexClassLoader动态加载技术详解
- android 中.9图片的用法 详解