Glide中的一些思维

前言

对于Glide大家还是比较熟悉的。本文将从管道高扩展两个角度来认识Glide。

1.简介

       Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。Glide 支持拉取,解码和展示视频快照,图片,和GIF动画。Glide的Api是如此的灵活,开发者甚至可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。虽然Glide 的主要目标是让任何形式的图片列表的滚动尽可能地变得更快、更平滑,但实际上,Glide几乎能满足你对远程图片的拉取/缩放/显示的一切需求。

2.管道

      管道作为两层含义:管道体系结构和图片解码管道。

      2.1 Glide作为一个开源库,它也有自己的体系结构:数据流/管道-过滤体系结构,将从网络获取的或是本地加载的图片资源,经过一系列的加工,最终交付给targetView。

         2.2  图片解码管道可以简单理解为 将图片文件拆分,再利用管道流合成存储对象。

3. 高扩展

        Glide如何实现高扩展呢,主要是带有层次地将不变的与可变的区分开来,可变的可以灵活的替换和修改,不可变的部分就是设计来维持这种灵活性。Glide 在大体上划分为RequestCacheModuleDecode 等等模块,统一由Registry进行管理。在这个基础上,Glide 就能实现很好的扩展性。例如 Request模块,即可以使用默认的,也可以使用Volley或者OKHttp

,

猜你喜欢

转载自blog.csdn.net/baidu_33512336/article/details/107432736