zoukankan      html  css  js  c++  java
  • 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
     

  • 相关阅读:
    poj 3714 Raid(平面最近点对)
    hdu 4638 Group(离线+树状数组)
    UVa 10294(polya 翻转与旋转)
    hdu 4633 Who's Aunt Zhang(polya+逆元)
    Use of Function Arctan
    codeforces 299E Cube Problem
    UVa11806 Cheerleaders(容斥原理)
    UVa11538 A Chess Queen
    UVa11401
    周报(2017.3.19-3.16)
  • 原文地址:https://www.cnblogs.com/awkflf11/p/12631934.html
Copyright © 2011-2022 走看看