0

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

onResume(), onStop(),onStop()等等。哪些被覆盖的方法需要包含重要的超级构造函数?

某处有清单吗?

我看到超级构造函数包含在某些代码中,而不是其他代码中。我有时自己也包含它们,而其他代码则没有,并且从未真正注意到有什么不同。

任何可以散发的光都会受到好评!

干杯

4

3 回答 3

2

检查此文档

Activity 的整个生命周期由以下 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();
}
于 2013-01-30T12:13:16.497 回答
2

onCreate(),用于在开启时启动 ActivityonStart()并用于停止或清理 Activity。onResume()onStop()onDestroy()

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

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

欲了解更多信息

于 2013-01-30T12:52:19.540 回答
2

如果您阅读源代码,您会注意到Activity.java这 6 个方法中如何包含代码,所以我想说您应该为每个被覆盖的onXXX方法调用 super。

于 2013-01-30T13:00:02.507 回答