Android - 哪些Activity方法需要超级构造函数?

时间:2013-01-30 12:05:42

标签: android methods constructor override super

在大多数Android应用程序中,onCreate()被覆盖,第一位代码为super.onCreate(savedInstanceState),我知道这会收集savedInstanceState Bundle并且是编译所必需的,但是所有构造函数呢?

onResume()onStop()onStop()等。您需要包含哪些重写方法具有重要的超级构造函数?

某个地方有名单吗?

我看到超级构造函数包含在某些代码中,而不是在其他代码中。我有时将自己包含在内,有些则没有,并且从未真正注意到差异......

任何可以脱落的光线都会受到欢迎!

干杯

3 个答案:

答案 0 :(得分:2)

检查documentation

活动的整个生命周期由以下Activity方法定义。所有这些都是挂钩,您可以覆盖它们以在活动更改状态时执行适当的工作。所有活动都将实现onCreate(Bundle)进行初始设置;许多人还将实现onPause()以提交对数据的更改,并准备停止与用户交互。在实现这些方法时,您应该始终调用您的超类。

public class Activity extends ApplicationContext {
    protected void onCreate(Bundle savedInstanceState);

    protected void onStart();

    protected void onRestart();

    protected void onResume();

    protected void onPause();

    protected void onStop();

    protected void onDestroy();
}

答案 1 :(得分:2)

onCreate()onStart()onResume()用于启动活动,而onStop()onDestroy()用于停止或清理活动。

根据文档,您需要为每个方法调用super。

  

派生类必须调用超类的实现   这种方法。如果他们不这样做,将抛出异常。

more info

答案 2 :(得分:2)

如果您阅读了源代码,您会注意到Activity.java这6个方法中的代码是如何进入的,所以我要说你应该为每个覆盖onXXX方法调用super。