第三方框架问题记录

174 阅读1分钟

Glide生命周期

1、创建一个无UI的Fragment,这个特殊的Fragment持有一个Lifecycle,通过Lifecycle在Fragment关键生命周期通知RequestManger进行相关的操作,具体来说是SupportRequestManagerFragment/RequestManagerFragment,并绑定到当前Activity,这样Fragment就可以感知Activity的生命周期;
2、在创建Fragment时,初始化LifecycleLifecycleListener,并且在生命周期的onStart() 、onStop()、 onDestroy()中调用相关方法,在生命周期onStart时继续加载,onStop时暂停加载,onDestory是停止加载任务和清除操作;
3、在创建RequestManager时传入Lifecycle 对象,并且LifecycleListener实现了LifecycleListener接口;
4、这样当生命周期变化的时候,就能通过接口回调去通知RequestManager处理请求。 5. 获取Fragment对象,先根据tag去找,如果没有从内存中查找,pendingSupportRequestManagerFragments是一个存储fragment实例的HashMap,再没有的话就new一个。