00:00
好,今天呢,大海哥带大家学习一下三硅谷安卓企业级技术第15讲图片加载框架啊,这个g gladde,这g gladde它是在这个泰国啊举行的谷歌开谷歌开发者论坛上啊,谷歌为我们介绍的一个这个图片加载框架啊格glad这个作者呢,是啊,这个人这一库啊,啊应用非常非常广泛啊,广泛的应用在这个谷歌的开源项目中啊,其中就包括这个一四年谷歌IO大会上发布的这个官方APP啊,可想而知啊,这个影响力是相当相当大的啊,那么这个开源框架有哪些这个特点或者说优点呢?啊一共有这么七条啊,简单罗列一下,分别是这个使用简单啊,一会儿就会看到啊,就一行代码啊,搞定使用非常超级简单啊。第二个呢,就是这个可配置度高啊,自适应程度高。啊,非常非常灵活啊,你可以可配置参数呢啊,非常多啊,第三个呢,就是支持常见的这个图片格式,包括你这个JPG啊P啊啊GIF啊啊等等啊,还有网络的都可以去加载啊,那么第四个支持这个多种数据源啊,你这个图片呢,可以是网络的,也可以是本地的,也可以是这个资源目录下面的,也可以是access目录下面啊都可以,我都能给你加载啊,非常非常强大啊。第五条呢,就是这个高效的这个缓存策略啊,它支持这个memory和第四个图片缓存啊,默认这个bit map啊,格式采用的是这个RGB565。
01:32
那你RGB565和那个皮卡O那个RGB888啊,是不是至少这个内存上啊,就会减少这个一半啊,它这个在内存开销上啊会减少很多啊,当然了,它也可以配置成这个2GB888啊,高清的这个图片都是没有问题的,那第六个呢,就是这个生命周期啊,这个集成它呀,这个加载图片的时候可以绑定这个activity和fragment的生命周期啊,可以进行根据这个它的生命周期进行自动的管理啊,这样呢,这个操作起来更方便啊。第七个呢,就是这个高效的处理这个bitmab啊,使用这个bitmab这个线程池啊,使这个bitmab可以这个复用啊,还而且呢,还可以主动调用这个recycle回收需要回收的bitmab啊,减小这个内存。
02:22
啊,所以说它有这么多优点,所以说我们这应该啊去好好学习一下它啊,就好好的利用它好,那么这个下载地址我们看一下去哪能下载到它这个glad。这glad啊,就是这个官方的这个下载地址啊,也可看一下它这个start啊,已经1万多了啊,可想而知它这个影响力还是非常非常大的啊好,那这个就是啊,如果怎么使用呢?啊,其实很简单,就这么两个代码就OK了啊。好,那看一下它的功能啊。
03:01
一行代码就可以使用这个gladde,直接调用glad点位置啊,采用的是这种链式编程的形式啊,位置里面传一个上下文this啊,接下来呢,就是漏,漏是什么意思呢?里面传一个URL,这个URL啊,就是你要加载图片啊,这个图片的来源来源于哪?这个呢是来源于网络啊,这只是举个例子啊,它可以来源于很多地方啊,那么into into表示什么意思呢?表示你这张图片。嗯,具体要显示到哪一个控件上啊,哪个控件上啊,就这么简单结束了。好,接下来往下看啊,那我们具体说一下,这个glad点位置里面传的是上下文,这个上下文啊,可以是这个全局的上下文,也可以是这个activity的上下文,也可以是fragment activity的上下文啊,同时呢,还可以是这个fragment的上下文,也可以是微包下面的fragment上下文啊,总之它可以传的啊,这个上下文种类非常非常多啊,而且它这个生命周期啊啊,可以根据你传进来这个上下文进行绑定啊,你传进来XTC,那我就跟你这个XTC进行绑定啊,方便管理啊,不需要你这个额外的去维护它,这是这个接下来呢,就是这个load的使用啊,也就是你这张图片来源于哪。
04:17
那么你这张图片可以来源哪呢?几乎可以来源于任何地方啊,包括你这个SD卡,还有access的这个目录下,还有这个啊IW啊,这个J源目录下,同时呢,也可以是这个卓业包专业目录下啊,还可以是这个内容提供者啊,还包括这个I GT patds啊都可以啊,同时呢,在这个地方,这个URL啊,不仅仅是这个实质类型,你还可以是这个file类型啊,这个inter类型啊,URL类型啊,还有这个bit等等啊,可以好好多种数据类型啊,使用起来非常非常方便啊。好,那往下啊,说一下这个g glad啊,有哪些这个重要的功能啊,我这里呢,只是简单的罗列出十条啊,其实不仅仅这十条啊,那好,第一条可以看一下,它呢可以是一个禁止内存缓存。
05:11
啊,采用列式编程的形式,直接打点调这个stick啊,Memory case啊处,那么就是禁止内存缓存,我可以不要这个缓存啊,可以进行配置,同时呢可以清除内存缓存啊,直接调用这个方法啊,Glad get啊,Contest clear memory直接清除啊,同时呢还可以禁止这个磁盘缓存啊,跟上面是一样的,同时呢,清除磁盘缓存啊,都可以调用,接下来呢,还可以获取这个缓存的这个大小啊,这里面呢有相应的例子啊,我就不展开讲了啊,同时呢,第六条指定资源的优先级加载顺序。啊,这啥意思呢啊,优先如果你想设置为优先加载,那你就调一个primary,这个primary啊,如果我想优先级第一点,那么这个primary优先级就变成啊可以设置的加载的优先级啊第七个可以先显示这个缩略图啊,再显示原图,就是我在加载一张大图片的时候啊,大图片的时候我可以先加载一个小图片啊小图片。
06:18
啊先显示着,因为它快啊,啊快速的就显示了,同当我把这个大图片啊都加载完的时候,我再把这个小图片替换掉啊,这样是看着效果是不是很好啊好。这里面呢,有具体的啊代码啊,这样第一种方式呢,其实其实是采用这个用原图的1/10啊,作为说列图啊,另一种方式呢,其实是你自己可以定一个小的这个缩略图啊,去加载啊都可以,后面呢我们会有例子啊,先给大家讲好,那第八个就是对这个图片呢,进行这个裁剪啊,模糊啊,滤镜啊啊等等这个变换处理啊,这里只是列了三个方法啊,我后面的这个例子中呢啊,列出了有21个方法啊,大家可以这个详细的去啊看一看啊,这个第九个呢,就是对请求状态啊进行监听啊,我们下面有这个API,你可以监听这个图片啊请求的这个状态,同时呢,还可以对资源下载的进度啊进行监听,你下载这个图片啊到什么程度了,这也有可以有监听。
07:18
那么详细的方法在哪呢?下面这个就是这个glide啊,详细的这个API使用啊,并且呢,每个API的具体使用方法后面都有这个详细的描述啊,这里呢,我不展开讲啊,不展开讲了。有需要的同学呢啊,可以来这里面啊,去看一看。好,这是这个API。再往下哎,怎么使用这个g gladde呢?啊,既然它这么强大,哎,其实使用它呀,非常非常方便,你可以直接添加这么一个依赖啊,添加它就可以了啊,如果呢,你这个项目中呢,如果要没有这个V4包,那你还需要添加这一个support v4啊就可以啊这么两个包,这是正常情况下,那么如果你要想这个使用这个glad这个变换呢,啊,各种变换的这个效果啊,包括这个模式啊,模模糊啊,滤镜啊啊裁剪啊等等这些这些方法,那么呢,你最好啊可以加载一个自定义的库啊,自定义的这个变换的库,这个变换库的名称啊,在get up上这个地方给大家看一下。
08:28
啊,这个下载量也是相当大的啊,也很很多啊,深受这个广大这个it者这个喜欢啊。这里面呢,你可以。获取到你想要的效果,包括模糊啊,滤镜啊啊等等一些效果。好,那么如果如何导导这个变换的库呢?啊,其实也非常简单,导这么两一个啊就OK了啊,编译一下这两个。啊,添加这两行代码直接搞定。
09:01
好,那接下来。今天我们准备啊设计这么三个例子啊,分别是这个gladde,这个基本使用啊,包括在不同的地方啊加载图片啊,或者是这个GI图片啊等等,接下来呢,就是这个recycle view中去加载这个图片啊,这个呢正常在实际开发中啊,是非常非常常用的啊好,那最后一个呢,就是这个变换啊变换的效果啊,我这里面呢,给大家列出了好多例子啊啊最后呢,就是啊这个参考这个博客这个网址啊,有兴趣同学啊可以再看一下这个网址啊,同时也感谢啊这个博主。
我来说两句