调用Glide.with()方法用于创建一个加载图片的实例。with()方法可以接收Context、Activity或者Fragment类型的参数。也就是说我们选择的范围非常广,不管是在Activity还是Fragment中调用with()方法,都可以直接传this。那如果调用的地方既不在Activity中也不在Fragment中呢?也没关系,我们可以获取当前应用程序的ApplicationContext,传入到with()方法当中。注意with()方法中传入的实例会决定Glide加载图片的生命周期,如果传入的是Activity或者Fragment的实例,那么当这个Activity或Fragment被销毁的时候,图片加载也会停止。如果传入的是ApplicationContext,那么只有当应用程序被杀掉的时候,图片加载才会停止。
接下来看一下load()方法,这个方法用于指定待加载的图片资源。Glide支持加载各种各样的图片资源,包括网络图片、本地图片、应用资源、二进制流、Uri对象等等。因此load()方法也有很多个方法重载,除了我们刚才使用的加载一个字符串网址之外,你还可以这样使用load()方法
/ 加载本地图片
File file = new File(getExternalCacheDir() + "/image.jpg" );
Glide.with( this ).load(file).into(imageView);
File file = new File(getExternalCacheDir() + "/image.jpg" );
Glide.with( this ).load(file).into(imageView);
// 加载应用资源
int resource = R.drawable.image;
Glide.with( this ).load(resource).into(imageView);
// 加载二进制流
byte [] image = getImageBytes();
Glide.with( this ).load(image).into(imageView);
// 加载Uri对象 Uri imageUri = getImageUri();Glide.with( this ).load(imageUri).into(imageView);
int resource = R.drawable.image;
Glide.with( this ).load(resource).into(imageView);
// 加载二进制流
byte [] image = getImageBytes();
Glide.with( this ).load(image).into(imageView);
// 加载Uri对象 Uri imageUri = getImageUri();Glide.with( this ).load(imageUri).into(imageView);