kotlin - Glide生命周期管理-源码流程
kotlin - Glide生命周期管理-源码流程

如果是Activity:
android.app.FragmentManager fm = activity.getFragmentManager();
如果是Fragment:
android.app.FragmentManager fm = fragment.getChildFragmentManager();
绑定关系:
fm.beginTransaction().add(current, FRAGMENT_TAG).commitAllowingStateLoss();
Glide生命周期管理流程:
Glide.with->
RequestManagerRetriever类->get()
->fragmentGet()
->getRequestManagerFragment()核心点,把空RequestManagerFragment绑定到activity,监听activity生命周期方法
使用:fm.beginTransaction().add(current, FRAGMENT_TAG).commitAllowingStateLoss();
RequestManagerFragment类引用:ActivityFragmentLifecycle
ActivityFragmentLifecycle类实现Lifecycle接口,其中定义了:LifecycleListener
LifecycleListener接口,实现生命周期管理,最终回调实现类RequestManager:
onStart()
onStop()
onDestroy()
Lifecycle接口,属于com.bumptech.glide.manager包:
addListener方法
removeListener方法
RequestManager类:
-> onStart()
-> resumeRequests()
RequestTracker类:
resumeRequests()
->request.begin();
SingleRequest类:
begin() -> 实现网络请求
pause() -> 暂停
clear() -> 清理释放资源
更多推荐

所有评论(0)