Glide原理分析(一)

本文介绍了Glide这一高效图片加载框架的特点与使用方法。Glide不仅能够加载本地和网络图片,还能支持动画和GIF,并且通过Drawable处理减少内存消耗,避免OOM问题。文章还提供了简单的使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

这段时间一直在使用Gide框架进行图片的加载,对于Glide简便的使用感觉很爽,于是对于Glide其中的实现过程起了兴趣,于是就在网上查了关于Glide原理资料,当时就感慨原来有那么多前辈对Glide的分析,看的我是不甚激动啊,本篇及以后对于Glide的相关文章为我个人学习结果,就当是记一个笔记好了。闲话少说,来看看这个Glide到底是何方神圣。
Glide是google内部的一个用于图片加载开源框架,可以加载本地图片以及网络图片,默认图片的格式是RGB565,相比一般的RGB8888很大程度上降低内存的占用,Glide除了可以加载图片以外还可以加载动画,gif动画,和之前使用的ImageLoder相比Glide可以根据组件的生命周期来开启和结束加载图片,采用Drawable进行图片处理来防止出现OOM。
Glide简单使用

 

Glide的使用非常简单,如果你是eclipse的话直接将glide的jar包拷进项目就可以了,Android stdio的配置如下:

compile 'com.github.bumptech.glide:glide:3.7.0'

 

Manifest中配置

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</pre>普通的使用<pre code_snippet_id="1786051" snippet_file_name="blog_20160726_4_4647690" name="code" class="java">ImageView img = (ImageView) findViewById(R.id.img);
Glide.with(this)
        .load(url)
        .error(R.mipmap.ic_launcher)
        .placeholder(R.mipmap.ic_launcher)
        .into(img);

with设置上下文,load加载链接之类的,error加载错误是显示的图片,placeholder加载中的默认图片,into将资源中的信息加载在img上。

 


设置动画

Glide.with(this)
        .load(url)
        .error(R.mipmap.ic_launcher)
        .placeholder(R.mipmap.ic_launcher)
        .crossFade()
        .animate(android.R.anim.fade_in)
        .into(img);

CrossFade()加载淡入淡出动画,animate加载图片动画为淡入。同时还可以使用bitmapTransform设置BitmapTransform的子类来实现图片的圆角等样式,同时不要给使用Glide的ImageView设置Tag,会与Glide自己设置的Tag冲突导致Tag无效。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值