Glide初始化之with()解析
2018-08-07 15:26:36 2 举报
Glide的初始化和生命周期绑定
作者其他创作
大纲/内容
getRetriever方法内部实现如下:Glide.get(context).getRequestManagerRetriever()
Glide.with()
checkAndInitializeGlide()方法主要检查Glide是否已经初始化了如果没有初始化调用initializeGlide进行初始化
在initializeGlide中获取AndroidManifest中声明的Module或者加上GlideModule注解的Module类,会给Module注册组件和添加配置。Glide通过工厂模式,build出一个Glide对象,build方法做一些基本配置,并且创建了RequestManagerRetriever对象
因为getRetriever返回RequestManagerRetriever,所以查看RequestManagerRetriever方法中的get方法
with方法内部调用了getRetriever(activity).get(activity),分两部分看getRetriever用于初始化Glide对象get用于Glide的生命周期绑定
Glide.get(Context)方法是一个单例会判断是否Glide是否为null,如果为null调用checkAndInitializeGlide(),然后创建一个glide单例对象
主要根据Glide是不是在V4包内的Fragement或Activity内调用,在v4包内调用supportFragmentGet,非v4包调用FragmentGet,两种方法逻辑都差不多
Glide初始化加载完成,with方法主要创建了Glide和进行初始化配置,并且让图片加载和生命周期绑定
supportFragmentGet方法中先根据TAG获取Fragment,如果没有就创建一个,然后创建一个RequestManager对象并且和Fragment进行绑定,从而图片加载和生命周期进行了一个绑定
0 条评论
下一页