400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

Android——Lifecycles的学习-创新互联

目录

创新互联建站成立于2013年,我们提供高端成都网站建设公司网站制作成都网站设计公司、网站定制、营销型网站小程序开发、微信公众号开发、营销推广服务,提供专业营销思路、内容策划、视觉设计、程序开发来完成项目落地,为宴会酒店设计企业提供源源不断的流量和订单咨询。简介

lifecycle 是属于Android Jetpack(官方开发工具包)—— Architecture(架构组件)中的一员。构建生命周期感知型组件,这些组件可以根据 Activity 或 Fragment 的当前生命周期状态调整行为。
通俗来讲就是,lifecycle可以和Activity或Fragment生命周期绑定,方便我们做一些跟生命周期相关的业务逻辑。

  1. 应用场景
使用

分为两步(被观察者已经被Android源码实现了:

创建观察者
  1. 创建类实现LifecycleObserver接口
  2. 在其内部创建方法(方法名随意),参数可填LifecycleOwner,也可不填。
  3. 给方法加注解@OnLifecycleEvent(Lifecycle.Event.XXX),可以让该方法监听到注解生命周期的变化。
//实现Lifecycles的接口
public class MyObsever implements LifecycleObserver {private static final String TAG = "TestLifecycleObserver";

    @OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
        // 2、在其内部创建方法(方法名随意),参数可填LifecycleOwner,也可不填。
    void onCreate(LifecycleOwner owner) {Log.e(TAG, "========onCreate====" + owner);
    }

    // 3、给方法加注解 @OnLifecycleEvent(Lifecycle.Event.XXX)
    // 可以让该方法监听到注解生命周期的变化。
    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    void onStart() {Log.e(TAG, "========onStart");
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    void onResume(LifecycleOwner owner) {Log.e(TAG, "========onResume");
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
    void onPause(LifecycleOwner owner) {Log.e(TAG, "========onPause");
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    void onStop(LifecycleOwner owner) {Log.e(TAG, "========onStop");
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
    void onDestroy(LifecycleOwner owner) {Log.e(TAG, "========onDestroy");
    }

    // Lifecycle.Event.ON_ANY 可以监听所有生命周期变化
    @OnLifecycleEvent(Lifecycle.Event.ON_ANY)
    void onAny(LifecycleOwner owner) {Log.e(TAG, "========onAny");
    }
}
注册观察者

AppCompatActivity与Fragment是默认的被观察者,在其内部通过调用getLifecycle().addObserver(观察者)注册定义好的观察者即可。

只要你的Activity是继承自AppCompatActivity的,或者你的Fragment是继承自androidk
fragment.app. Fragment
的,那么它们本身就是一个LifecycleOwner的实例,这部分工作已
由AndroidX库自动帮我们完成了。

我们只需要在所要监听的活动或者碎片添加如下代码即可。

//实现注册观察者
getLifecycle().addObserver(new MyObsever());

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:Android——Lifecycles的学习-创新互联
本文URL:http://mzwzsj.com/article/dgjjed.html

其他资讯

让你的专属顾问为你服务