Glide:Android图像加载框架的最完整分析(I)


浏览:907 次

现在,Android上的图像加载框架已经非常成熟,从最早的旧图像加载框架Universal ImageLoader,到谷歌推出的Volley,再到新兴的军队Glide和Picasso,当然还有Facebook的Fresco。每个都非常稳定和强大。然而,它们的使用场景基本上是一致的,这意味着我们只需要选择其中一个来学习和使用。试图掌握每个框架是浪费时间的。

在这些框架中,我深入研究了Volley和Glide,对UniversalImageLoader、Picasso和Fresco只有基本的了解。在易用性方面,Glide和Picasso都应该优于其他框架。这两个框架都太简单且易于使用。在大多数情况下,加载图像是一行代码,而Universal ImageLoader和Fresco在这方面略逊一筹。

然后拿格莱德和毕加索作比较。首先,这两个框架的用法非常相似,但它们实际上有自己的特点。毕加索比Glide更简单、更轻,Glide的功能也比毕加索多。之前有人对这两种框架进行了全面的比较。如果你想了解更多,可以参考这篇文章。

简而言之,没有最好的框架,只有最适合你的框架。经过多次比较,我还是决定选择Glide进行研究,这也是谷歌官方推荐的图像加载框架。

说实话,我已经为Glide的文章准备了很长时间。去年这个时候我打算写,但我还没有写。因为我去年大部分时间都在写《第二行代码》,所以我只能用碎片时间写博客,但Glide远比我用碎片时间掌握的困难。当然,我在这里谈论的是解析其源代码的困难,而不是使用它的困难。Glide的使用非常简单。因此,我认为去年我无法在Glide上写文章,这一直持续到今年。

现在,我花了很多精力研究Glide的源代码和各种用法,我相信我现在可以很好地掌握它。因此,我准备将我的知识整理成一个新的系列,以帮助您更好地学习Glide。Glide系列将有大约8篇文章,预计需要半年才能完成。它将包括Glide的基本用法、源代码分析、高级用法、功能扩展等。它可能是目前互联网上最详细的Glide教程。

因此,本文是本系列的第一篇。让我们首先了解Glide的基本用法。

开始

Glide是Bump Technologies开发的图像加载框架,它允许我们在Android平台上以极其简单的方式加载和显示图像。

目前,Glide的最新稳定版本是3.7.0。尽管4.0推出了RC版本,但仍存在许多暂时性问题。因此,我们将使用Glide 3.7.0来解释这一系列的博客。这个版本的Glide相当成熟和稳定。

要使用Glide,我们首先需要将这个库引入到我们的项目中。创建GlideTest项目,然后将以下依赖项添加到app/build中。放坡文件:

从属关系{

;编译“com.github.bumptech.glide:glide:3.7.0”

}

如果您仍在使用Eclipse,可以单击此处下载Glide的jar包。

此外,Glide需要网络功能,因此您必须在AndroidManifest.xml中声明网络权限:

就是这样。然后我们可以自由使用Glide中的任何功能。

加载图片

现在,让我们尝试如何使用Glide加载图像。例如,这是Bing上一个主页的地址:

https://cn.bing.com/az/hprichbg/rb/Dongdaemun_ZH-CN10736487148_1920x1080.jpg

然后我们要在程序中加载此图像。

首先打开项目的布局文件,并将Button和ImageView添加到布局中,如下所示:

;android:layout_width=“匹配父项”

;android:layout_ height=“match_ parent”

;android:orientation=“vertical”>;

 书信电报;按钮

 nbsp; ;android:layout_ width=“wrap_内容”

 nbsp; ;android:layout_ height=“wrap _ content”

 nbsp; ;android:text=“加载图像”

 nbsp; ;android:onClick=“loadImage”

 nbsp; ;/>;

 书信电报;图片框

 nbsp; ;android:id=“@+id/image_view”

 nbsp; ;android:layout_width=“匹配父项”

 nbsp; ;android:layout_ height=“match_ parent”/>;

为了在用户单击按钮时在ImageView上显示图像,我们需要

相关资讯:
农产品电子商务向企业个人农产品电子贸易方向发展的效益

农产品电子商务向企业个人农产品电子贸易方向发展的效益

查看
Web 3.0技术的基本方向

Web 3.0技术的基本方向

查看
认知

认知

查看
面向对象的

面向对象的

查看
2018-12-25

2018-12-25

查看