Glide入门教程——1.入门简介
2016-09-13 23:22
239 查看
Glide和Picasso一样,是一个优秀的图片加载工具库。它可以支持多种图片数据源,在对图片加载并显示时,能较好的处理好缓存、保持较低的内存占用。目前已经被Google用于其官方应用中。在这一系列教程中,我们将会通过学习Glide如何使用,探索Glide相对于Picasso的区别和改进。
高级加载
适配器(ListView, GridView)
占位图& 淡入淡出动画
图片大小 & 缩放
播放GIF & 视频
缓存基础
请求优先级
缩略图
回调:定制view中使用SimpleTarget和ViewTarget
通知栏和桌面小控件的图片加载
异常: 调试和报错处理
自定义变换
用animate()定制动画
整合网络协议栈
用Modules定制Glide
Glide Module 案例: 接受自签名HTTPS证书
Glide Module 案例: 自定义缓存
Glide Module 案例: 通过加载自定义大小图片优化
动态使用 Model Loaders
如何旋转图片
系列综述
Android在使用图片的时候是相当麻烦的,因为需要一个像素一个像素地加载这些图片到内存。一个中端手机所拍摄的一张照片有2592×1936(5百万)像素,这会占用大概19M内存。如果你再加上各种好坏不一的网络下的图片请求,同时要处理缓存、图片加载等问题,焦头烂额。如果你这时候使用了一个像Glide一样经过不断优化和严格测试的图片处理库,你会庆幸你节省了大量的时间,同时也避免了很多头疼的问题。
在这一系列教程中,我们会学习Glide的许多特性。先大概了解一下这篇列出的大纲,并想一下你是否真想要再实际开发中自己实现这些特性。
* —或者是其他的图片处理库,如 Picasso、 ION等等。
首先,添加Glide到你的工程依赖里,截止本文写作时,最新的Glide版本是3.7.0.
理论上的解释通常难以掌握,让我们随手举个栗子:
就上面这几行!如果这个URL链接的图片的确存在,并且你的ImageView可见,你将会在1~2秒见到这张图片被加载。假如这张图片不存在,Glide会回调相应的出错接口(这个以后再具体介绍)。 你可能已经被这个3行代码说服,觉得这个Glide的确对你有用。不过,现在你所见到的,只是Glide全部特性里的冰山一角而已。
文/签到钱就到(简书作者)
原文链接:http://www.jianshu.com/p/7610bdbbad17
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
Glide 系列概览
入门简介高级加载
适配器(ListView, GridView)
占位图& 淡入淡出动画
图片大小 & 缩放
播放GIF & 视频
缓存基础
请求优先级
缩略图
回调:定制view中使用SimpleTarget和ViewTarget
通知栏和桌面小控件的图片加载
异常: 调试和报错处理
自定义变换
用animate()定制动画
整合网络协议栈
用Modules定制Glide
Glide Module 案例: 接受自签名HTTPS证书
Glide Module 案例: 自定义缓存
Glide Module 案例: 通过加载自定义大小图片优化
动态使用 Model Loaders
如何旋转图片
系列综述
为什么要使用Glide?
有Android开发经验的程序员可以跳过这一节,但是对于新手,应当弄明白为什么你要使用Glide*来代替你自己的实现。Android在使用图片的时候是相当麻烦的,因为需要一个像素一个像素地加载这些图片到内存。一个中端手机所拍摄的一张照片有2592×1936(5百万)像素,这会占用大概19M内存。如果你再加上各种好坏不一的网络下的图片请求,同时要处理缓存、图片加载等问题,焦头烂额。如果你这时候使用了一个像Glide一样经过不断优化和严格测试的图片处理库,你会庆幸你节省了大量的时间,同时也避免了很多头疼的问题。
在这一系列教程中,我们会学习Glide的许多特性。先大概了解一下这篇列出的大纲,并想一下你是否真想要再实际开发中自己实现这些特性。
* —或者是其他的图片处理库,如 Picasso、 ION等等。
添加Glide到你的设置中
多么希望我们已经成功说服你使用一个库去处理你的图片加载请求。如果你想要了解一下Glide,这个教程会对你有帮助!首先,添加Glide到你的工程依赖里,截止本文写作时,最新的Glide版本是3.7.0.
Gradle
和大多数依赖库一样,在Gradle项目中只需要在build.gradle中添加一行:compile 'com.github.bumptech.glide:glide:3.7.0'
Maven
Glide也支持 Maven项目:<dependency> <groupId>com.github.bumptech.glide</groupId> <artifactId>glide</artifactId> <version>3.7.0</version> <type>aar</type> </dependency>
第一次尝试:从一个 URL加载图片
和Picasso一样,Glide使用一个流接口(Fluent Interface)。用Glide完成一个完整的图片加载功能请求,需要向其构造器中至少传入3个参数,分别是:with(Context context)- Context是许多Android API需要调用的, Glide也不例外。这里Glide非常方便,你可以任意传递一个Activity或者Fragment对象,它都可以自动提取出上下文。
load(String imageUrl)- 这里传入的是你要加载的图片的URL,大多数情况下这个String类型的变量会链接到一个网络图片。
into(ImageView targetImageView)- 将你所希望解析的图片传递给所要显示的ImageView。
理论上的解释通常难以掌握,让我们随手举个栗子:
ImageView targetImageView = (ImageView) findViewById(R.id.imageView); String internetUrl = "http://i.imgur.com/DvpvklR.png"; Glide .with(context) .load(internetUrl) .into(targetImageView);
就上面这几行!如果这个URL链接的图片的确存在,并且你的ImageView可见,你将会在1~2秒见到这张图片被加载。假如这张图片不存在,Glide会回调相应的出错接口(这个以后再具体介绍)。 你可能已经被这个3行代码说服,觉得这个Glide的确对你有用。不过,现在你所见到的,只是Glide全部特性里的冰山一角而已。
展望
在下一篇文章中,我们将要研究除了从网络URL加载图片外的其他方式,如从Android资源文件、本地文件和Uri加载图片。文/签到钱就到(简书作者)
原文链接:http://www.jianshu.com/p/7610bdbbad17
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
相关文章推荐
- Glide入门教程——1.入门简介
- J2EE入门视频教程第七讲——JDBC技术简介及使用
- SQL语言入门教程:第一课简介
- netzke简介及基本入门教程
- HOOPS 3D入门教程一:简介及安装部署
- SAS入门教程1---SAS系统简介
- swing入门教程(一) swing简介
- [置顶] ActiveMQ入门教程(一) - JMS和ActiveMQ简介
- [转载]Ajax 教程:Ajax 入门简介
- Linq系列教程三(入门之查询简介)
- GBDT(MART) 迭代决策树入门教程 | 简介
- linux入门教程1 系统简介
- [C#.NET/Linq]LINQ新特性简介及入门教程
- LINQ新特性简介及入门教程
- Asp.net MVC 3.0 入门教程之一-----Asp.net MVC3.0 入门指南 1.简介
- J2EE入门视频教程第八讲——Hibernate简介及基本使用
- VBScript新手入门初学教程:VBScript简介
- JSF入门系列教程(一) jsf简介,jsf是什么?
- GBDT(MART) 迭代决策树入门教程 | 简介
- GBDT(MART) 迭代决策树入门教程 | 简介