安卓应用生命周期引擎库



对于一个项目,我需要像通用的灵活生命周期引擎这样的东西。我的意思是,我应该能够用它注册许多组件。应在不同的应用/活动生命周期事件上触发组件。

例如:

  • 组件 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());
      }
   }
}

最新更新