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

转自:http://blog.csdn.net/yaphetzhao/article/details/50586991

亲测可用!!!


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

[java]  view plain  copy
 print ?
  1. Glide.with(a).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(i);  
关键点是
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
就可以解决一部分问题了。

上面的方法是通过缓存解决的,可以解决一部分图片变绿的问题。下面的方法是彻底解决。
Glide使用bitmap的编码问RGB565,所以有时的时候由于过度压缩导致了图片变绿。
所以要改变一下Glide的bitmap编码。
[java]  view plain  copy
 print ?
  1. import android.content.Context;  
  2.   
  3. import com.bumptech.glide.Glide;  
  4. import com.bumptech.glide.GlideBuilder;  
  5. import com.bumptech.glide.load.DecodeFormat;  
  6. import com.bumptech.glide.module.GlideModule;  
  7.   
  8. /** 
  9.  * Created by zhaoyong on 2016/1/26. 
  10.  * 增加图片清晰度 
  11.  */  
  12. public class GlideConfiguration implements GlideModule{  
  13.     @Override  
  14.     public void applyOptions(Context context, GlideBuilder builder) {  
  15.         builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);  
  16.     }  
  17.   
  18.     @Override  
  19.     public void registerComponents(Context context, Glide glide) {  
  20.   
  21.     }  
  22. }  

然后AndroidManifext中:
[java]  view plain  copy
 print ?
  1. <meta-data  
  2.     android:name="com.xxx.xxx.xxx.GlideConfiguration"  
  3.     android:value="GlideModule"/>  
这样就可以了,搞定!

你可能感兴趣的:(Glide)