需要在每个类或主类中为Android生命周期设置@Overrides方法

时间:2014-02-11 18:53:20

标签: android

 @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    notify("onCreate");
  }

  @Override
  protected void onPause() {
    super.onPause();
    notify("onPause");
  }

  @Override
  protected void onResume() {
    super.onResume();
    notify("onResume");
  }

  @Override
  protected void onStop() {
    super.onStop();
    notify("onStop");
  }

  @Override
  protected void onDestroy() {
    super.onDestroy();
    notify("onDestroy");
  }

  @Override
  protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    notify("onRestoreInstanceState");
  }

  @Override
  protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    notify("onSaveInstanceState");
  }

我是对的,这些是处理活动生命周期的方法。我的问题是,如果你想正确处理你的应用程序生命周期,或者只是在主类中,你是否需要将这些方法放在每个类中?

3 个答案:

答案 0 :(得分:2)

它们必须在每个活动时实施一次。除非第二个是第一个活动的子类,否则一个活动的代码将不会在另一个活动中使用。

作为补充说明,只有<{1}} 必须实施,其他是可选的。

答案 1 :(得分:0)

您只需要覆盖要使用的方法。

例如,如果您不需要在onDestroy()中执行任何特殊功能,则无需在任何活动中覆盖它。

确定是否需要它的好方法是查看这些方法中的内容。如果您所做的只是调用super,那么您不需要在Activity中包含该方法,因为默认行为对您来说很合适。

答案 2 :(得分:0)

如果您希望应用程序开发某些可应用于生命周期某些特定部分的行为,则必须将这些方法放在每个类Activity中。由于类需要通过所有应用程序进行某些特定行为的继承,我建议您使用修改所有后续活动的Application类,唯一的问题是并非所有活动生命周期的常规方法都可用。

以下是Application类中生命周期的一些参考:

https://www.inkling.com/read/programming-android-mednieks-1st/chapter-11/life-cycle-methods-of-the

您始终必须覆盖的方法的最佳示例是onCreate(),因为您可以在此处添加活动中视图和逻辑的所有正常启动行为。

如果您对Android生命周期不熟悉,我建议您不要覆盖这些方法,因为它们可能会导致您在应用中出现奇怪的行为,这是出于个人经验。 < / p>