前言
工作随笔,方便记起
Glide特点
- 使用简单
- 可配置度高,自适应程度高
- 支持常见图片格式 Jpg png gif webp
- 支持多种数据源 网络、本地、资源、Assets 等
- 高效缓存策略 支持Memory和Disk图片缓存 默认Bitmap格式采用 - RGB_565内存使用至少减少一半
- 生命周期集成 根据Activity/Fragment生命周期自动管理请求
- 高效处理Bitmap 使用Bitmap Pool使Bitmap复用,主动调用recycle回收需要回收的Bitmap,减小系统回收压力
Glide使用
1.在工程Module的build.gradle文件中引入
compile 'com.github.bumptech.glide:glide:3.7.0'
2.在工程Module的AndroidManifest加入网络权限
<!-- 网络权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
3.设置绑定生命周期
Glide提供以下方式进行绑定,这样可以让加载图片的请求的生命周期动态管理起来
Glide.with(Context context);// 绑定Context
Glide.with(Activity activity);// 绑定Activity
Glide.with(FragmentActivity activity);// 绑定FragmentActivity
Glide.with(Fragment fragment);// 绑定Fragment
4.基本加载图片实例
Glide.with(this).load(imageUrl).into(imageView);
5.基本方法说明
Glide.with(this)
.load(imageUrl)
.placeholder(R.mipmap.ic_launcher) //设置占位图
.error(R.mipmap.ic_launcher) //设置加载错误图
.skipMemoryCache(true) //设置跳过内存缓存
.priority(Priority.NORMAL) //设置下载优先级
.override(800, 800) //置加载尺寸
.thumbnail(0.1f) //先加载缩略图然后在加载全图
.diskCacheStrategy(DiskCacheStrategy.ALL) //设置缓存策略
.into(imageView);
6.设置动态GIF加载方式
Glide.with(this).load(imageUrl).asBitmap().into(imageView); //显示gif静态图片
Glide.with(this).load(imageUrl).asGif().into(imageView); //显示gif动态图片
7.缓存的动态清理
Glide.get(this).clearDiskCache();//清理磁盘缓存 需要在子线程中执行
Glide.get(this).clearMemory();//清理内存缓存 可以在UI主线程中进行