Glide介绍
这里引用框架作者的介绍
Glide is a fast and efficient open source media management and image loading framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface. bumptech
简单来说Glide是一个快速和高效的Android开源媒体管理和图像加载框架。
如何使用
- 在 Gradle中加入如下代码:
repositories {
mavenCentral()
}
dependencies {
compile 'com.github.bumptech.glide:glide:3.7.0'
}
在安卓的文件加入网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>
在需要加载图片的地方尽情玩耍
ImageView iv = (ImageView) findViewById(R.id.id_img);
RequestManager requestManager = Glide.with(this);
GenericRequestBuilder builder = requestManager.load("http://imgsrc.baidu.com/forum/w%3D580/sign=97c4a9e062380cd7e61ea2e59145ad14/db7e47a98226cffc39ade9e2be014a90f703ea92.jpg");
builder.into(iv);
使用这以上三步即可成功图片加载图片。效果如下图所示
Glide 不仅可以加载静态图片、还可以加载动态图片。如下图所示
(找不到mp4转gif,如果上存不了MP4的就删掉这个)
Glide 方法使用
- Glide.with()使用(返回关联了相应上下文的RequestManager实例。)
with(Context context). 使用Application上下文,Glide请求将不受Activity/Fragment生命周期控制。
with(Activity activity).使用Activity作为上下文,Glide的请求会受到Activity生命周期控制。
with(FragmentActivity activity).Glide的请求会受到FragmentActivity生命周期控制。
with(android.app.Fragment fragment).Glide的请求会受到Fragment 生命周期控制。
with(android.support.v4.app.Fragment fragment).Glide的请求会受到Fragment生命周期控制。
- requestManager.load()使用(返回GenericRequestBuilder实例。)
Glide基本可以load任何可以拿到的媒体资源,如:
load(Uri uri)
load(File file)
load(Integer resourceId)
load(URL url)
load(byte[] model)
load(T model)
loadFromMediaStore(Uri uri)
。load的资源也可以是本地视频,如果想要load网络视频或更高级的操作可以使用VideoView等其它控件完成。
- GenericRequestBuilder使用
diskCacheStrategy(DiskCacheStrategy strategy).设置缓存策略。 DiskCacheStrategy.SOURCE:缓存原始数据,DiskCacheStrategy.RESULT:缓存变换(如缩放、裁剪等)后的资源数据,DiskCacheStrategy.NONE:什么都不缓存,DiskCacheStrategy.ALL:缓存SOURC和RESULT。默认采用DiskCacheStrategy.RESULT策略,对于download only操作要使用DiskCacheStrategy.SOURCE。
priority(Priority priority). 指定加载的优先级,优先级越高越优先加载,但不保证所有图片都按序加载。枚举Priority.IMMEDIATE,Priority.HIGH,Priority.NORMAL,Priority.LOW。默认为Priority.NORMAL。
placeholder(int resourceId). 设置资源加载过程中的占位Drawable。
placeholder(Drawable drawable). 设置资源加载过程中的占位Drawable。
error(int resourceId).设置load失败时显示的Drawable。
error(Drawable drawable).设置load失败时显示的Drawable。
skipMemoryCache(boolean skip). 设置是否跳过内存缓存,但不保证一定不被缓存(比如请求已经在加载资源且没设置跳过内存缓存,这个资源就会被缓存在内存中)。
into(ImageView view). 设置资源将被加载到的ImageView。取消该ImageView之前所有的加载并释放资源。
into(int width, int height). 后台线程加载时要加载资源的宽高值(单位为pixel)。
asBitmap(). 无论资源是不是gif动画,都作为Bitmap对待。如果是gif动画会停在第一帧。
asGif().把资源作为GifDrawable对待。如果资源不是gif动画将会失败,会回调.error()。