Android imageview显示绿色图像

这是原始图片

这是使用ImageView渲染的图像:

但是,有时当图像在旋转木马中时,向图像滑动可能会导致图像正确渲染,这更加奇怪……

在LG G3(Android 5.1)和Genymotion(Android 4.4.4)上都观察到了这种行为.我正在使用Glide库来加载图像,使用ARGB_8888解码格式:

new GlideBuilder(this).setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

解决方法

这是一个解决的问题 305.这是一个快速回顾:

此问题仅出现在JPEG格式的图像中(质量无关紧要).看起来它比ARGB_8888更显着地影响RGB_565,因此您可能希望将DecodeFormat切换到ARGB_8888(清除应用程序数据以检查问题是否已解决).但即使使用ARGB_8888也可以出现,因此请使用以下解决方案之一:

>使用diskCacheStrategy.NONE(对于本地映像)或diskCacheStrategy.soURCE(对于远程映像)来防止Glide重新压缩映像:

Glide.with(this)
    .load(url)
    .diskCacheStrategy(diskCacheStrategy.soURCE)
    .into(imageView);

>使用asBitmap()和自定义BitmapEncoder始终将受影响的图像压缩为PNG:

Glide.with(this)
    .fromresource()
    .asBitmap()
    .encoder(new BitmapEncoder(Bitmap.CompressFormat.PNG,100))
    .load(R.drawable.testimg)
    .into(imageView);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...