Glide和Picasso的比较

原创 2018年04月16日 16:08:33

Glide 和 Picasso 可以说是目前 Android 上最流行的图片加载库了。大部分安卓应用开发人员都有使用过这两个库在他们的开发工作中。这两个库也都确实提供了大量图片加载的功能,而且也都经过了很多应用的检验,是可靠可信的。表面看上去似乎两者工作原理很相似,但是实际上是有着很大差别的,主要体现在下面几个方面:

  • 下载图片的方式
  • 图片的缓存机制
  • 加载到内存的机制

本文主要会围绕这几个方面来深入研究和对比两个库的差异,从而给开发者们提供参考。 对比的版本是 Glide v3.7.0 和 Picasso v2.5.2 的版本。

导入库到项目中

Picasso 和 Glide 都在 Jcenter 上有建立库,所以只需要简单的在添加dependency 即可

Picasso

dependencies {
    compile 'com.squareup.picasso:picasso:2.5.1'
}

Glide

dependencies {
    compile 'com.github.bumptech.glide:glide:3.5.2'
}

相同

1.两个库也都支持缓存图片,都通过下载图片后,缓存到本地。

区别

 1.   with值

Picasso.with()  ------->Context context

Gilde.with( )------>  Context context    Activity activity    FragmentActivity activity   Fragment fragment

2.  图片质量

Picasso   默认ARGB-8888格式

Glide     默认的Bitmap格式为RGB-565

3.  加载GIT图

Glide动画会消耗太多的内存

4.  缓存策略和加载速度

Picasso     下载图片然后缓存完整的大小到本地,

Glide        Glide 是会先下载图片,然后改变图片的大小,以适应 imageView 的要求,然后缓存到本地

缓存策略

(将ImageView调整成不同的大小,不管大小如何Picasso值缓存一个尺寸,Glide会为每个ImageView缓存一次)

(Glide让加载非常快 Picasso 因为需要在显示之前调整大小而又延迟)

5.  加载图片的时间

    当尝试加载一个图片的时候,两个库都会采用先从缓存中读取,如果缓存中没有,再去下载的做法。

··········1.当加载因为Picasso 是直接把图加载到内存中,而 Glide 则需要改变图片大小再加载到内存中去。这个应该是会耗费一定的时间。

··········2.加载图片从内存中的时候,Glide比Picasso快 原理是因为缓存机制的区别,Picasso从缓存中拿到图片先去resize后设定给imageview 但是Glide不需要这样

6. 库的大小和方法的数量

Glide是Picasso的3.5倍   Glide有2678个     Picasso有849个

7.使用方式

如果只是简单的从一个 URL 中下载图片,然后显示到 imageView 中,那么两个库的使用方式基本相似,也都非常的简单。同时两个库也都支持动画和大小的剪切,也可以设置加载时候的预设图片等功能: Picasso:

Picasso.with(myFragment)
.load(url)
.centerCrop()
.placeholder(R.drawable.loading_spinner)
.into(myImageView);

Glide:

Glide.with(myFragment)
.load(url)
.centerCrop()
.placeholder(R.drawable.loading_spinner)
.crossFade()
.into(myImageView);


8.其他功能的对比

  • GIF 支持:Glide 支持 GIF。 对于加载 GIF 来说,Glide 只需要简单使用 Glide.with(...).load(...)。 但是 Picasso 是不支持的,因此如果你的应用中是需要加载 GIF 的话,那就只能用 Glide 了。

  • 灵活性:Glide 提供了非常多的配置,你可以非常灵活的根据你的需求来客制化,从而缩减 Glide 库的大小等。

总结

正所谓人无完人,经过一番对比,Picasso 和 Glide 各有千秋,那么到底我们应该用哪个库呢?这个还是回到应用的需求来看,比如你想要你的 app 小一些,没有那么多的额外功能,那么 Picasso 是你的首选。反之,比如你的应用中需要加载 GIF,或者对于内存的大小比较在意,那么 Glide 应该是不错的选择。

1. Glide比Picasso加载速度快,但Glide比Picasso需要更大的空间来缓存

2.Glide加载图像及磁盘缓存的方式都优于Picasso,且Glide更有利于减少OitOfMemoryError的发生

3.GIF动画是Glide的杀手锏

Picasso,Glide,Fresco对比分析

前言 图片加载是Android开发中最最基础的功能,同时图片加载OOM也一直困扰着很多开发者,因此为了降低开发周期和难度,我们经常会选用一些图片加载的开源库。 老牌的有ImageLo...
  • github_33304260
  • github_33304260
  • 2017-04-18 00:59:58
  • 7705

谈谈你对Glide和Picasso他们的对比的优缺点

1.Picasso和Glide的withi后面的参数不同 Picasso.with(这里只能传入上下文)     .Glide.with,后面可以传入上下文,activity实例,Fragm...
  • wolfking0608
  • wolfking0608
  • 2017-04-16 16:50:50
  • 2054

Android图片加载框架比较----Glide,Picasso,Fresco

Glide 添加依赖: dependencies { compile 'com.github.bumptech.glide:glide:3.5.2' compile 'com.and...
  • hong_geek
  • hong_geek
  • 2015-11-15 15:15:44
  • 14447

Glide & Picasso 超详细对比

1.概览 图片库 Picasso Glide 版本 2.5.2 3.7.0 作者 square bumptech 时间 2012 2013 star ...
  • pngfi
  • pngfi
  • 2017-01-05 21:03:39
  • 790

Android 四大大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比

四大图片缓存基本信息 Universal ImageLoader 是很早开源的图片缓存,在早期被很多应用使用。   Picasso 是 Square 开源的项目,且他的主导者是 JakeWh...
  • qq_25690935
  • qq_25690935
  • 2016-01-20 14:51:15
  • 10909

Picasso, ImageLoader, Fresco, Glide 优劣

Picasso, ImageLoader, Fresco, Glide 优劣 首先看 Fresco, 它的优点是其他几个框架没有的, 或者说是其他几个框架的短板. Fresco: 优点: 1. ...
  • LiuyiFirstTime
  • LiuyiFirstTime
  • 2016-08-24 16:01:29
  • 4587

Glide与Picasso的优势与区别

什么是Glide? Glide是一个加载图片的库,作者是bumptech,它是在泰国举行的google 开发者论坛上google为我们介绍的,这个库被广泛的运用在google的开源项目中。 ...
  • Abrazen_zz
  • Abrazen_zz
  • 2016-09-17 11:11:24
  • 3060

Android四大图片缓存(Imageloader,Picasso,Glide,Fresco)原理、特性对比

http://www.cnblogs.com/linghu-java/p/5741358.html
  • qq_18738333
  • qq_18738333
  • 2017-04-07 02:48:17
  • 372

Fresco、Glide与Picasso的区别

最近项目当中在图片加载过程中有一些新的需求,所以研究了一下时下最火的三个图片加载框架(Fresco、Glide与Picasso)。今天就简单的记录一下,方便以后查看。 Fresco 优点: 1...
  • qq_35937681
  • qq_35937681
  • 2017-07-11 10:27:54
  • 209

android图片加载框架比较----Glide,Picasso,Fresco

原文地址:http://blog.csdn.net/hong_geek/article/details/49849339 Glide 添加依赖: [java] v...
  • piglite
  • piglite
  • 2016-08-16 23:57:50
  • 836
收藏助手
不良信息举报
您举报文章:Glide和Picasso的比较
举报原因:
原因补充:

(最多只允许输入30个字)