Android 之 Glide 用法简介

前言

本篇主要记录的是 Glide 图片加载框架的使用

一、简介

  • 现在的 Android 网络请求框架比较多,并且功能也很强大,使用起来也很简单,目前大家常用的,说的最多的有三个,分别是 Glide 、Picasso 、 Fresco,各有各的优点,至于选择哪种,完全是看项目需求和个人喜好,可以参考这篇文章

  • 为什么要选择 Glide 呢,第一,是因为这是 Google 官方推荐的网络加载框架,我们做 Android 的,还是尽量以官方为准吧;第二,个人认为简单易用,使用起来很方便。也是唯一一个默认就支持加载 GIF 图片的框架,第三,是内存这块处理的比较好,极大地减少了出现 oom 的几率。当然,这只是个人见解。

  • 郭霖大神有关于 Glide 的详解,请做 飞机

  • 官方关于 Glide 的中文版介绍:
    https://muzhi1991.gitbooks.io/android-glide-wiki/content/chapter5.html

二、使用

  • Glide 和 Picasso 在使用上及其方便和快捷,并且两者使用的方式非常相似

第一步:引入依赖包

1
2
//最新的是 3.8 版本的,但是 3.7 目前最稳定
compile 'com.github.bumptech.glide:glide:3.8.0'

第二步:添加网络权限

1
<uses-permission android:name="android.permission.INTERNET"></uses-permission>

第三步:开始在代码中使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Glide
.with(this) // 指定Context
.load(URL_GIF)// 指定图片的URL
.placeholder(R.mipmap.ic_launcher)// 指定图片未成功加载前显示的图片
.error(R.mipmap.ic_launcher)// 指定图片加载失败显示的图片
.override(300, 300)//指定图片的尺寸
.fitCenter()//指定图片缩放类型为fitCenter
.centerCrop()// 指定图片缩放类型为centerCrop
.skipMemoryCache(true)// 跳过内存缓存
.crossFade(1000)//设置渐变式显示的时间
.diskCacheStrategy(DiskCacheStrategy.NONE)//跳过磁盘缓存
.diskCacheStrategy(DiskCacheStrategy.SOURCE)//仅仅只缓存原来的全分辨率的图像
.diskCacheStrategy(DiskCacheStrategy.RESULT)//仅仅缓存最终的图像
.diskCacheStrategy(DiskCacheStrategy.ALL)//缓存所有版本的图像
.priority(Priority.HIGH)//指定优先级.Glide 将会用他们作为一个准则,并尽可能的处理这些请求,但是它不能保证所有的图片都会按照所要求的顺序加载。优先级排序:IMMEDIATE > HIGH > NORMAL > LOW
.into(imageView);//指定显示图片的ImageView

很简单,三步就完成了

三、加载圆形、圆角等图片

在我们项目中使用的话,仅仅是上边的简单使用肯定满足不了我们的需求,为了美观,我们需要各种规格的图片

github 上有一个配合 Glide 使用的三方库,就是加载圆形、圆角等图片的

地址为:https://github.com/wasabeef/glide-transformations

简书上有篇文章比较详细的介绍这个库的使用方法:http://www.jianshu.com/p/976c86fa72bc

四、图片加载框架的封装

请参考本人的另一篇:

https://adsuper.github.io/2017/05/10/Android%E5%9B%BE%E7%89%87%E5%8A%A0%E8%BD%BD%E6%A1%86%E6%9E%B6%E5%B0%81%E8%A3%85/

也算是偷懒吧,附带了很多链接,而自己少写很多字!实际上也不算是懒,因为这类的文章太多了,经实践,总结的都很好,实在没必要重复造轮子了!