Glide图片加载框架基础篇二

来源:互联网 发布:网络翻唱歌手 编辑:程序博客网 时间:2024/06/05 07:40

**

GlideBuilder设置选项:

**

1.)设置Glide内存缓存大小

 int maxMemory = (int) Runtime.getRuntime().maxMemory();//获取系统分配给应用的总内存大小 int memoryCacheSize = maxMemory / 8;//设置图片内存缓存占用八分之一 //设置内存缓存大小 builder.setMemoryCache(new LruResourceCache(memoryCacheSize));  获取默认的内存使用计算函数MemorySizeCalculator calculator = new MemorySizeCalculator(context);  int defaultMemoryCacheSize = calculator.getMemoryCacheSize();  int defaultBitmapPoolSize = calculator.getBitmapPoolSize();  

2.)设置Glide磁盘缓存大小

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

也可以通过如下两种方式

  //存放在data/data/xxxx/cache/  builder.setDiskCache(new InternalCacheDiskCacheFactory(context, "glide", diskCacheSize));  //存放在外置文件浏览器  builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, "glide", diskCacheSize));

3.)设置图片解码格式

//设置图片解码格式builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);

默认格式RGB_565使用内存是ARGB_8888的一半,但是图片质量就没那么高了,而且不支持透明度

4.)设置缓存内存大小

//设置BitmapPool缓存内存大小  builder.setBitmapPool(new LruBitmapPool(memoryCacheSize));

5.)设置一个用来检索cache中没有的Resource的ExecutorService

为了使缩略图请求正确工作,实现类必须把请求根据Priority优先级排好序。

builder.setDiskCacheService(ExecutorService service);builder.setResizeService(ExecutorService service);
0 0
原创粉丝点击