LIfeCycle在安卓中的使用

2020-03-20  本文已影响0人  放羊娃华振

一、为什么需要使用LIfeCycle?

在开发的时候,很多时候需要统计页面的周期。比如我们需要把打开的Activity都保存起来,在不修改baseActivity的方式下,我们可以通过在application中注册一个监听Activity的生命周期的方法。

二、实现

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();

        init();
    }

    private void init() {

        registerActivityLife();
    }

    private void registerActivityLife() {
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
            @Override
            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
                Log.d("registerActivityLife", "onActivityCreated  =");
            }

            @Override
            public void onActivityStarted(Activity activity) {
                Log.d("registerActivityLife", "onActivityStarted  =");

            }

            @Override
            public void onActivityResumed(Activity activity) {
                Log.d("registerActivityLife", "onActivityResumed  =");
            }

            @Override
            public void onActivityPaused(Activity activity) {
                Log.d("registerActivityLife", "onActivityPaused  =");
            }

            @Override
            public void onActivityStopped(Activity activity) {
                Log.d("registerActivityLife", "onActivityStopped  =");
            }

            @Override
            public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
                Log.d("registerActivityLife", "onActivityStopped  =");
            }

            @Override
            public void onActivityDestroyed(Activity activity) {
                Log.d("registerActivityLife", "onActivityStopped  =");
            }
        });
    }

}

三、其他的LIfeCycle实现方法

可以通过自己在BaseActivity中保存Activity的页面。
还可以使用getLifecycle().addObserver(new MyLifeCycleObserver()); 在MyLifeCycleObserver中记录数据。

上一篇 下一篇

猜你喜欢

热点阅读