使用Glide加载Android图片
一、概述
Glide是一个在Android端非常好的图片缓冲工具,总体上来说,他有以下优点
- 使用简单
- 自适应程度高
- 支持常见的图片格式,如jpg,png等
- 支持多种数据源,网络,本地,资源,Assets等
- 高效的缓存策略,支持Memory和Disk图片缓存策略,默认Bitmap格式采用RGB_565内存使用至少减少一半
- 生命周期集成 根据Activity/Fragment生命周期自动管理请求
- 高效处理Bitmap 使用Bitmap Pool使Bitmap复用,主动调用recycel回收需要回收的Bitmap,减少系统回收的压力
二、使用方法
步骤1、在build.gradle的dependencies中添加如下代码:
1 compile "com.github.bumptech.glide:glide:3.7.0"
步骤2、在代码中直接使用即可:
1 fun onclick_loadImageView(v: View) { 2 Glide.with(this) 3 .load(IMG_URI) 4 .placeholder(R.drawable.loading) 5 .error(R.drawable.error) 6 .into(img) 7 8 }
注意,因为我们这个地方的IMG_URI是网络图片,所以还需要在AndroidManfiest中设置网络访问权限
1 <uses-permission android:name="android.permission.INTERNET"></uses-permission>
三、Glide方法总结
总的来说,Glide常见的方法如下
- with() 与生命周期相关。所以这个时候用activity还是用application context就需要考虑清楚
- load 加载资源路径
- into 将图片加载到的imageView
以上三个方法是最基础的方法,下面是一些扩展方法
- placeholder 加载中的图片
- error 加载失败后显示的占位图
- thumbnail 缩略图支持。
- override 设置加载尺寸
- asGif 强制转换为gif
- diskCacheStrategy 设置图片缓存策略
- transform 切图,例如实现圆角图片等
本文所有代码已经上传至Github:https://github.com/YanYoJun/DangerousPermission