Glide之基本使用

 

Glide 监听Activity或Fragement的生命周期原理

当一个对象的状态变化时,通知另一个对象,很容易想到用到了观察者模式,那便有被观察者,观察者,用于管理观察者的管理类。

以监听Activity的生命周期为例,被观察者是Activity,Request请求为观察者,下面分析源码

1.在当前Activity的FragmentManager中加入RequestManagerFragment,Fragement的生命周期跟Activity的生命周期相关联

@Override
public void onStart() {
super.onStart();
lifecycle.onStart();
}

@Override
public void onStop() {
super.onStop();
lifecycle.onStop();
}

@Override
public void onDestroy() {
super.onDestroy();
lifecycle.onDestroy();
unregisterFragmentWithRoot();
}
可以 看到lifecycle就是管理观察者的管理类,当Activity的生命周期变化时,会调用相应的方法,现在只要向lifecycle中添加LifecycleListener的实现类就可以监听Activity的生命周期。

2.生成requestManager,里面包含GlideLifecycle,requestManager实现LifecycleListener,把requestManager注册到GlideLifecycle中

3.requestManager中requestTracker对象用来管理Request

 调用顺序是 Acitity->RequestManagerFragment->GlideLifecycle->requestManager->requestTracker->Request
 

原文地址:https://www.cnblogs.com/awkflf11/p/12631934.html