原因:
Glide默认的Bitmap格式是RGB_565,这也是导致在加载图片是可能变绿的罪魁祸首。RGB_565代表8位RGB位图,而Picasso默认的Bitmap格式是ARGB_8888代表32位RGB位图,位图位数越高代表其可以存储的颜色信息越多,图像也就越逼真,这也是Picasso图像质量更好的原因了。
解决方案1:
Glide.with(context)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//是将图片原尺寸缓存到本地。
.into(imageview);
解决方案2:
如果加上这一句代码图片仍然没有解决,可以将Bitmap的格式改为ARGB_8888。
首先创建一个 GlideConfiguration类去实现GlideModule,修改Bitmap的格式。
public class GlideConfiguration implements GlideModule{
@Override
public void applyOptions(Context context, GlideBuilder builder) {
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);
}
@Override
public void registerComponents(Context context, Glide glide) {
}
}
然后在manifest中写入
<meta-data
android:name="你的包名.GlideConfiguration"
android:value="GlideModule"/>