Glide单独设置ARGB_8888等图片质量

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)....

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容