Glide

2019-03-15  本文已影响0人  晓晓桑

什么是Glide

Glide是一个快速高效的Android图片加载库,具备性能高,流式API的语法特点。

优势

image.png

Glide模拟

image.png
image.png

二级缓存

image.png

生命周期

Fresco等框架:二级缓存的图片管理:加载的图片会放在手机里的内存里面(内存的1/8的内存区域),当内存图片满了的时候,最早使用的内存回收,然后再将新的图片放进去。劣势:当Activity的destroy之后,图片还在内存里面不会被回收,只有GC的时候才会被回收。
Glide
1.会对每个Activity加一个空的没有UI的Fragment:RequestManagerFragment
2.因为空白fragment和创建他的Activity的生命周期是一致的,其可以感知Activity的生命周期,将生命周期传递给RequestManager,从而对Request进行管理。

几个核心类介绍

通过对Glide生命周期绑定和传递整个流程过了一遍之后,大家应该对整体实现的框架有一定的了解。现在再来看下面一些核心类的介绍,应该更加有感触。

Glide:库提供对外调用方法的类,传入页面引用。
RequestManagerRetriever:一个处理中间类,获取RequestManager和RequestManagerFragment,并将两者绑定
RequestManagerFragment:无UI的fragment,与RequestManager绑定,感知并传递页面的生命周期
RequestManager:实现了LifeCycleListener,主要作用为结合Activity或Fragment生命周期,对Request进行管理,如pauseRequests(), resumeRequests(), clearRequests()。
LifecycleListener:接口,定义生命周期管理方法,onStart(), onStop(), onDestroy(). RequestManager实现了它。
ActivityFragmentLifecycle:保存fragment和Requestmanager映射关系的类,管理LifecycleListener, 空白Fragment会回调它的onStart(), onStop(), onDestroy()。

上一篇 下一篇

猜你喜欢

热点阅读