Android imageview显示绿色图像

前端之家收集整理的这篇文章主要介绍了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相关文章