Glide单独设置ARGB_8888等图片质量

2017-03-20  本文已影响0人  Cloud_9527

Glide大家肯定都不陌生,Google出品的图片框架,简单易用。但是实际使用起来还是有很多要注意的地方。我在实际项目中遇到这两个问题

1.加载出来的图片变绿
2.加载出来的图片和实际图片显示有区别,背景层次更深。

方法一:

自定义一个全局的GlideModule

public class MyGlideModule implements GlideModule{  
    @Override  
    public void applyOptions(Context context, GlideBuilder builder) {  
        builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);  
    }    
    @Override  
    public void registerComponents(Context context, Glide glide) {  

    }  
}

在AndroidManifest.xml中加入:

<meta-data  
    android:name="youpackagename.MyGlideModule "  
    android:value="GlideModule"/>
但是这种方法有一个缺点,他是全局设定的,这样做之后,所有加载的图片都是质量最高 的会大大增加内存的消耗,有些得不偿失。下面请看解决方法二

方法二:

Glide.with(context).load(url).asBitmap().format(PREFER_ARGB_8888)....

使用这个方法可以单独在一个加载项中设置想要的图片质量,而不用去全局设定。大大的减少内存占用,可以根据实际情况,加入到自己封装到项目的方法中。

上一篇下一篇

猜你喜欢

热点阅读