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 在使用上及其方便和快捷,并且两者使用的方式非常相似

第一步:引入依赖包

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

第二步:添加网络权限


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

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

四、图片加载框架的封装

请参考本人的另一篇:

http://www.jianshu.com/p/d6e84d88575f

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

你可能感兴趣的:(Glide)