在大多数Android应用程序中,onCreate()
被覆盖,第一位代码为super.onCreate(savedInstanceState)
,我知道这会收集savedInstanceState Bundle并且是编译所必需的,但是所有构造函数呢?
onResume()
,onStop()
,onStop()
等。您需要包含哪些重写方法具有重要的超级构造函数?
某个地方有名单吗?
我看到超级构造函数包含在某些代码中,而不是在其他代码中。我有时将自己包含在内,有些则没有,并且从未真正注意到差异......
任何可以脱落的光线都会受到欢迎!
干杯
答案 0 :(得分:2)
活动的整个生命周期由以下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。
派生类必须调用超类的实现 这种方法。如果他们不这样做,将抛出异常。
答案 2 :(得分:2)
如果您阅读了源代码,您会注意到Activity.java
这6个方法中的代码是如何进入的,所以我要说你应该为每个覆盖onXXX
方法调用super。