1.什么是ActivityLifecycleCallbacks?他有什么用?
ActivityLifecycleCallbacks是一个定义在Application类中的接口,API level 14。这个接口可以监控App进程中所有的Activity,在生命周期收到回调。Application提供了注册和反注册接口:
void registerActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback)
void unregisterActivityLifecycleCallbacks (Application.ActivityLifecycleCallbacks callback)
代码样例:
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
}
@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) {
}
});
可以看到里面实现了Activity所有的生命周期。虽然Android中一般不需要集中式管理Activity,但这个接口仍然为那些需要所有Activity都实现的业务逻辑,在自己实现一个Activity子类作为App中所有Activity的基类这样的方案之外,提供了另外一种选择。而根据减低代码耦合度的准则,在同样能满足需求的前提下,