Android 监控应用中所有Activity 的生命周期

来源:互联网 发布:sci论文润色软件 编辑:程序博客网 时间:2024/06/05 19:49

众所周知,我们可以在Activity 里面监控当前Activity 的生命周期,比如onResume() ,onCreate() 等等。如果想监控所有Activity 的生命周期呢?你可能会说那在BaseActivity 里面去写啊,用集合记录。当然这能做到,可是有没有更简单的办法呢?

其实我们可以在Application 的onCreate() 里去注册一个监听:

public class MyApplication extends Application {    public static MyApplication app;    @Override    public void onCreate() {        super.onCreate();        app = this;        this.registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {            @Override            public void onActivityCreated(Activity activity, Bundle savedInstanceState) {//                Log.v("tag_2","onActivityCreated" + activity.getClass().getName());            }            @Override            public void onActivityStarted(Activity activity) {            }            @Override            public void onActivityResumed(Activity activity) {            }            @Override            public void onActivityPaused(Activity activity) {            }            @Override            public void onActivityStopped(Activity activity) {            }            @Override            public void onActivitySaveInstanceState(Activity activity, Bundle outState) {            }            @Override            public void onActivityDestroyed(Activity activity) {//                Log.v("tag_2","onActivityDestroyed" + activity.getClass().getName());            }        });    }}
这样就可以监控整个应用的生命周期了。还可以做到判断当前应用是否在后台。具体能做什么,你可以发挥你的想象了。

原创粉丝点击