Glide加载图片的简单实用

1.依赖
compile 'com.github.bumptech.glide:glide:3.7.0'
2.注意联网权限
3.使用方法基本与picasso类似
Glide.with(this).load(url).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);
4.扩展
1.占位图
Glide.with(this) .load(url) .placeholder(R.drawable.loading) .into(imageView);
因为Glide有非常强大的缓存机制,我们刚才加载那张必应美图的时候Glide自动就已经将它缓存下来了,下次加载的时候将会直接从缓存中读取,不会再去网络下载了,因而加载的时候速度很快,不会看到占位图的效果,因此可以做一些简单的修改,来显示占位图的效果
Glide.with(this) .load(url) .placeholder(R.drawable.loading) .diskCacheStrategy(DiskCacheStrategy.NONE) 禁用掉Glide的缓存功能。 .into(imageView);
异常占位图:如果因为某些异常情况导致图片加载失败,比如说手机网络信号不好
Glide.with(this) .load(url) .placeholder(R.drawable.loading) .error(R.drawable.error) .diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageView);
2.支持加载GIF图片
Glide内部会自动判断图片格式
Glide.with(this) .load(url) .asBitmap() 只允许加载静态图片,不需要Glide去帮我们自动进行图片格式的判断,界面上显示第一帧的图片 .placeholder(R.drawable.loading) .error(R.drawable.error) .diskCacheStrategy(DiskCacheStrategy.NONE) .into(imageView);
asGif() 只允许加载动态图片,如果我们传入了一张静态图片的URL地址,加载失败
3.优点
Glide会自动判断ImageView的大小,帮助我们节省内存开支,如果需要指定图片尺寸大小,
Glide.with(this) .load(url) .placeholder(R.drawable.loading) .error(R.drawable.error) .diskCacheStrategy(DiskCacheStrategy.NONE) .override(100, 100) .into(imageView);

你可能感兴趣的:(Glide加载图片的简单实用)