Android图片加载框架之Google推荐的图片加载库Glide

2024-06-06 09:18

本文主要是介绍Android图片加载框架之Google推荐的图片加载库Glide,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考链接:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0327/2650.html

github链接:https://github.com/bumptech/glide

上面链接中,已经讲的非常好,此篇博客就是按照这个链接的教程重新梳理一遍,并添加自己需要的拓展功能,持续更新...欢迎留言。

Gilde的强大之处第4点已经说明。

点我下载Demo

 

1,引入glide,在github上获取目前最新的。

 

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

 

2,简单加载图片

 

 

Glide.with(context).load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg").into(ivImg);

注意:Glide的with方法不光接受Context,还接受Activity 和 Fragment,Context会自动的从他们获取。

如果对图片没有什么特殊要求,1,2两步 已经能够正常显示图片了,是不是很简单。

 

 

3,拓展Glide 的配置

(1)Glide为了减少内存,默认Bitmap格式是RGB_565,如果你想加载更高质量的图片。

(2)设置缓存的目录

   创建GlideConfiguration类,增加一些配置信息。设置Bitmap格式格式与缓存路径
   

public class GlideConfiguration implements GlideModule{@Overridepublic void applyOptions(Context context, GlideBuilder builder) {//设置图片的显示格式ARGB_8888builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);//设置磁盘缓存目录String downloadDirectoryPath= Environment.getExternalStorageDirectory()+"/glideCache";int cacheSize100MegaBytes = 100000000;builder.setDiskCache(new DiskLruCacheFactory(downloadDirectoryPath, cacheSize100MegaBytes));}@Overridepublic void registerComponents(Context context, Glide glide) {}
}

   AndroidManifest.xml中增加。  com.android.talon.glidedemo是你的包名。

 

 

 <meta-data android:name="com.android.talon.glidedemo.GlideConfiguration"android:value="GlideModule"/>

 

4,其他

 

    (1)为什么glide加载速度比其他框架要快一些。这来源于它的加载与缓存机制。

        加载机制上,Glide加载的大小和ImageView的大小是一致的,因此内存开销更小,速度更快。

        缓存机制上,Glide缓存的是跟ImageView尺寸相同的,因为图片很小,所以缓存与取数据显示图片就更快了。

       

      (2) 细心的你会发现,它会为每种大小的ImageView缓存 一次。尽管一张图片已经缓存了一次,但是假如你要在另外一个地方再次以不同尺寸显示,需要重新下载,调整成新尺寸的大小,然后将这个尺寸的也缓存起来。具体说来就是:假如在第一个页面有一个200x200的ImageView,在第二个页面有一个100x100的ImageView,这两个ImageView本来是要显示同一张图片,却需要下载两次。

不过,你可以改变这种行为,让Glide既缓存全尺寸又缓存其他尺寸:

 

                Glide.with(this).load("http://inthecheesefactory.com/uploads/source/glidepicasso/cover.jpg").diskCacheStrategy(DiskCacheStrategy.ALL)//加载全尺寸.into(ivImageview);

下次在任何ImageView中加载图片的时候,全尺寸的图片将从缓存中取出,重新调整大小,然后缓存。

 

       (3)Glide 还支持加载Gif动画。

         

                 Glide.with(this).load("http://ww3.sinaimg.cn/mw690/e75a115bjw1f2f4t8ubcjg20b405tb2c.gif").into(ivImageview);

 

 

 

欢迎留言共同探讨。

 

这篇关于Android图片加载框架之Google推荐的图片加载库Glide的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1035698

相关文章

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

在Android中使用WebView在线查看PDF文件的方法示例

《在Android中使用WebView在线查看PDF文件的方法示例》在Android应用开发中,有时我们需要在客户端展示PDF文件,以便用户可以阅读或交互,:本文主要介绍在Android中使用We... 目录简介:1. WebView组件介绍2. 在androidManifest.XML中添加Interne

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

GSON框架下将百度天气JSON数据转JavaBean

《GSON框架下将百度天气JSON数据转JavaBean》这篇文章主要为大家详细介绍了如何在GSON框架下实现将百度天气JSON数据转JavaBean,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录前言一、百度天气jsON1、请求参数2、返回参数3、属性映射二、GSON属性映射实战1、类对象映

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因