ActivityLifecycleCallbacks可以用来集中处理Activity的生命周期事件。API Level 14之后,开始支持。
其声明在Application中:
public interface ActivityLifecycleCallbacks {
void onActivityCreated(Activity activity, Bundle savedInstanceState);
void onActivityStarted(Activity activity);
void onActivityResumed(Activity activity);
void onActivityPaused(Activity activity);
void onActivityStopped(Activity activity);
void onActivitySaveInstanceState(Activity activity, Bundle outState);
void onActivityDestroyed(Activity activity);
}
上面的方法,一看名字应该就能猜出意思了。就不多说了
调用Application#registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback),注册事件处理类。一般在Application#onCreate()中注册。
调用unregisterActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback)反注册。不过Application并没有onDestroy之类的方法,所以这句一般可能不显示调用。
统一处理方式:打印日志;Activity入栈、出栈;统计;等等