Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 这两个语句之间有什么区别?1.超级类方法调用第一行2.超级类方法调用最后一行_Android - Fatal编程技术网

Android 这两个语句之间有什么区别?1.超级类方法调用第一行2.超级类方法调用最后一行

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);

这两种说法有什么区别

1.调用第一行的超类方法
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()
    可能会释放出您自己清理所需的资源

    所以一般来说:首先初始化框架,最后清理框架。当然,有各种各样的原因需要时不时地打破这一规则