@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");
}
我是对的,这些是处理活动生命周期的方法。我的问题是,如果你想正确处理你的应用程序生命周期,或者只是在主类中,你是否需要将这些方法放在每个类中?
答案 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>