对于一个项目,我需要像通用的灵活生命周期引擎这样的东西。我的意思是,我应该能够用它注册许多组件。应在不同的应用/活动生命周期事件上触发组件。
例如:
- 组件 A 对 onStart()、onStop() 和 onDestroy() 做出反应
- 构成部分B对 onStart() 和 onPause() 做出反应
此外,组件应该能够对其他组件/事件做出反应。
例如:
- 组件 C 在组件 A 和 B 完成特定任务时触发
在我开始自己写东西之前,我想检查一下是否已经有一个库可以做这些事情。
您可以创建自定义应用程序类,扩展 Android Application
类。接下来,您可以创建并注册活动生命周期回调。之后,您可以在回调中实现逻辑。
public class MyApplication extends Application {
@Override
public void onCreate () {
super.onCreate();
registerActivityLifecycleCallbacks(new MyActivityLifecycleCallbacks());
}
private static final class MyActivityLifecycleCallbacks implements ActivityLifecycleCallbacks {
public void onActivityCreated(Activity activity, Bundle bundle) {
Log.e("","onActivityCreated:" + activity.getLocalClassName());
}
public void onActivityDestroyed(Activity activity) {
Log.e("","onActivityDestroyed:" + activity.getLocalClassName());
}
public void onActivityPaused(Activity activity) {
Log.e("","onActivityPaused:" + activity.getLocalClassName());
}
public void onActivityResumed(Activity activity) {
Log.e("","onActivityResumed:" + activity.getLocalClassName());
}
public void onActivitySaveInstanceState(Activity activity, Bundle outState) {
Log.e("","onActivitySaveInstanceState:" + activity.getLocalClassName());
}
public void onActivityStarted(Activity activity) {
Log.e("","onActivityStarted:" + activity.getLocalClassName());
}
public void onActivityStopped(Activity activity) {
Log.e("","onActivityStopped:" + activity.getLocalClassName());
}
}
}