glide全局配置

gilde是一款很优秀的图片加载框架,使用起来也很方便。有时候我们需要对glide做一些配置,现记录一下glide全局配置的方法。

环境说明  Android studio 2.3.3    glide:3.6.1


新建一个MyGlideModule继承GlideModule

public class MyGlideModule implements GlideModule {
    int memorySize = (int) (Runtime.getRuntime().maxMemory()) / 8;  // 取1/8最大内存作为最大缓存

    @Override
    public void applyOptions(Context context, GlideBuilder builder) {
        // builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565);
        builder.setMemoryCache(new LruResourceCache(memorySize));

        MemorySizeCalculator calculator = new MemorySizeCalculator(context);
        int defaultBitmapPoolSize = calculator.getBitmapPoolSize();
        //修改bitmappool的大小为默认的1.2倍
        int customBitmapPoolSize = (int) (1.2 * defaultBitmapPoolSize);
        builder.setBitmapPool(new LruBitmapPool(customBitmapPoolSize));

        File cacheDir = context.getExternalCacheDir();//指定的是数据的缓存地址
        int diskCacheSize = 1024 * 1024 * 400;//最多可以缓存多少字节的数据 400M
        //设置磁盘缓存大小
        builder.setDiskCache(new DiskLruCacheFactory(cacheDir.getPath(), "glide", diskCacheSize));
    }

    @Override
    public void registerComponents(Context context, Glide glide) {

    }
}
除此之外还要在清单文件中加以配置,这个类才会在app启动的时候被加载(注意:meta-data 应该放在application中)。




你可能感兴趣的:(android)