Glide入门教程——1.入门简介

作者: 签到钱就到 | 来源:发表于2016-05-13 17:36 被阅读4875次

    Glide入门教程

    原文:Getting Started & Simple Loading
    作者:Norman Peitek
    翻译:Dexter0218

    Glide和Picasso一样,是一个优秀的图片加载工具库。它可以支持多种图片数据源,在对图片加载并显示时,能较好的处理好缓存、保持较低的内存占用。目前已经被Google用于其官方应用中。在这一系列教程中,我们将会通过学习Glide如何使用,探索Glide相对于Picasso的区别和改进。

    Glide 系列概览

    1. 入门简介
    2. 高级加载
    3. 适配器(ListView, GridView)
    4. 占位图& 淡入淡出动画
    5. 图片大小 & 缩放
    6. 播放GIF & 视频
    7. 缓存基础
    8. 请求优先级
    9. 缩略图
    10. 回调:定制view中使用SimpleTarget和ViewTarget
    11. 通知栏和桌面小控件的图片加载
    12. 异常: 调试和报错处理
    13. 自定义变换
    14. 用animate()定制动画
    15. 整合网络协议栈
    16. 用Modules定制Glide
    17. Glide Module 案例: 接受自签名HTTPS证书
    18. Glide Module 案例: 自定义缓存
    19. Glide Module 案例: 通过加载自定义大小图片优化
    20. 动态使用 Model Loaders
    21. 如何旋转图片
    22. 系列综述

    为什么要使用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加载图片。

    相关文章

      网友评论

      • 蜀汉玫瑰:系列 。。。赞一个~~~很全面
      • nice键盘:请问,用Glide加载列表上的图片时,我出现和他一样的问题,http://bbs.csdn.net/topics/391915759。请问是什么原因造成的?在下拉刷新或者向下滑动在滑回来时,图片就会变大;如果图片是在变大的状态,那么进行刚才的滑动操作就可能会变成正常的图片大小
      • 菠萝克星:准备学习 ,刘明~
      • ChangQin:前排留名,小伙伴可以一起学习安卓哈 :smile:
      • Zack_zhou:哇塞,一个系列的文章,争取这周前看完!!! :heart_eyes:

      本文标题:Glide入门教程——1.入门简介

      本文链接:https://www.haomeiwen.com/subject/dpctrttx.html