Android Glide图片加载框架图片变色变绿解决方法

2017-09-13 13:14:00
一弗楚
转贴:
chinaunix
23

图片变色的原因是因为图片压缩所致,一半是webp会出现这样的情况。
所以在使用Glide的缓存机制的时候,缓存原图片即可。

Glide.with(a).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(i);

关键点是.diskCacheStrategy(DiskCacheStrategy.SOURCE)就可以解决一部分问题了。

上面的方法是通过缓存解决的,可以解决一部分图片变绿的问题。下面的方法是彻底解决。
Glide使用bitmap的编码问RGB565,所以有时的时候由于过度压缩导致了图片变绿。
所以要改变一下Glide的bitmap编码。

import android.content.Context;  
  
import com.bumptech.glide.Glide;  
import com.bumptech.glide.GlideBuilder;  
import com.bumptech.glide.load.DecodeFormat;  
import com.bumptech.glide.module.GlideModule;  
  
/** 
 * Created by zhaoyong on 2016/1/26. 
 * 增加图片清晰度 
 */  
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) {  
  
    }  
}


然后AndroidManifext中:

<meta-data 
 android:name="com.xxx.xxx.xxx.GlideConfiguration" 
 android:value="GlideModule"/>


这样就可以了,搞定!

发表评论
评论通过审核后显示。