Android 这两个语句之间有什么区别?1.超级类方法调用第一行2.超级类方法调用最后一行
这两种说法有什么区别 1.调用第一行的超类方法Android 这两个语句之间有什么区别?1.超级类方法调用第一行2.超级类方法调用最后一行,android,Android,这两种说法有什么区别 1.调用第一行的超类方法 2.超级类方法正在调用最后一行 Exmaple: @Override protected void onStart() { super.onStart(); FlurryAgent.onStartSession(this, AppConstants.FLURRY_API_KEY); RocqAnalytics.startScreen(this); AppEventsLogger.activateApp(this);
2.超级类方法正在调用最后一行 Exmaple:
@Override
protected void onStart() {
super.onStart();
FlurryAgent.onStartSession(this, AppConstants.FLURRY_API_KEY);
RocqAnalytics.startScreen(this);
AppEventsLogger.activateApp(this);
}
@Override
protected void onStart() {
FlurryAgent.onStartSession(this, AppConstants.FLURRY_API_KEY);
RocqAnalytics.startScreen(this);
AppEventsLogger.activateApp(this);
super.onStart();
}
super.onStart()
放在重写函数的顶部,可以告诉程序在运行任何代码之前执行super类中的任何onStart()
代码super.onStart()
放在重写函数的末尾,可以告诉程序在运行任何代码之后执行super类中的任何onStart()
代码活动
也会在onStart()
中执行一些操作。例如,在Activity.onStart()
中调用应用程序生命周期回调。因此,如果您想在应用程序收到活动已启动的通知之前执行某些操作,则必须在调用super.onStart()
之前执行
因此,如果您想在框架有发言权之前或之后自己进行一些初始化,那么调用super.onStart()的操作顺序取决于这一事实。根据经验,我总是首先初始化框架(即首先调用super.onStart()
),除非有明确的理由不这样做
请注意,对于onPause()
,情况正好相反,因为框架的onPause()
可能会释放出您自己清理所需的资源
所以一般来说:首先初始化框架,最后清理框架。当然,有各种各样的原因需要时不时地打破这一规则