Gilde 用法缓冲

来源:互联网 发布:知乎 宋茜 编辑:程序博客网 时间:2024/05/18 11:24

第一步 :

添加gradle 依赖

compile 'com.github.bumptech.glide:glide:3.7.0'

第二步

创建Utils类

package com.explem.smalllemonade.utils;import android.content.Context;import com.bumptech.glide.Glide;import com.bumptech.glide.GlideBuilder;import com.bumptech.glide.load.DecodeFormat;import com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool;import com.bumptech.glide.load.engine.cache.DiskLruCacheFactory;import com.bumptech.glide.load.engine.cache.LruResourceCache;import com.bumptech.glide.load.engine.cache.MemorySizeCalculator;import com.bumptech.glide.module.GlideModule;import java.io.File;/** *  * on 2016/12/28 20:32. */public class MyGlideMoudle implements GlideModule {    @Override    public void applyOptions(Context context, GlideBuilder builder) {        File cacheDir = context.getExternalCacheDir();//指定的是数据的缓存地址        int maxMemory = (int) Runtime.getRuntime().maxMemory();//获取系统分配给应用的总内存大小        int memoryCacheSize = maxMemory / 8;//设置图片内存缓存占用八分之一        int diskCacheSize = 1024 * 1024 * 200;//最多可以缓存多少字节的数据        //设置内存缓存大小        builder.setMemoryCache(new LruResourceCache(memoryCacheSize))                //设置磁盘缓存大小                .setDiskCache(new DiskLruCacheFactory(cacheDir.getPath(), "glide", diskCacheSize))                //设置图片解码格式                .setDecodeFormat(DecodeFormat.PREFER_ARGB_8888)                //设置BitmapPool缓存内存大小                .setBitmapPool(new LruBitmapPool(memoryCacheSize));    }    @Override    public void registerComponents(Context context, Glide glide) {        MemorySizeCalculator calculator = new MemorySizeCalculator(context);        int defaultMemoryCacheSize = calculator.getMemoryCacheSize();        int defaultBitmapPoolSize = calculator.getBitmapPoolSize();    }}

第三部

用法:

Glide.with(context).load(list.get(i).getHeadImg()).placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(home_fragment_lv_headImage);

如果缓存图片较多或较大,那么布局文件中必须添加

<de.hdodenhof.circleimageview.CircleImageView        android:scaleType="centerCrop"    android:layout_marginTop="@dimen/home_fragment_period_tv_size"    android:id="@+id/home_fragment_lv_headImage"    android:layout_width="@dimen/home_fragment_period_pop_local"    android:layout_height="@dimen/home_fragment_period_pop_local"    android:padding="10dp"    android:src="@mipmap/heart_2" />














0 0
原创粉丝点击