在没有来自继承类的显式调用的情况下调用super.onStop()

时间:2015-02-27 11:52:19

标签: java android inheritance android-activity android-lifecycle

我有一个抽象类,它是我的应用程序中所有活动的基类:

public abstract class BaseActivity extends Activity { 
    // class content
}

在本课程中,我有onStop()方法:

@Override
protected void onStop(){
    super.onStop();
    Log.d(TAG, "BaseActivity- onStop()");
}

而且,当我想在继承活动中覆盖onStop方法时,我会这样做:

@Override
public void onStop(){
    super.onStop();
    Log.d(TAG, "LiveActivity - onStop.");
}

现在,奇怪的是:在每个继承活动中,来自BaseActivity的onStop()方法被称为而没有调用自己的onStop()方法。我的日志摘录中的一个例子:

com... D/live_activity﹕ LiveActivity - Activity onStart
com... D/live_activity﹕ BaseActivity - onStart()
com... D/live_activity﹕ BaseActivity- onStop()

我知道我错过了一些东西,但我无法弄清楚是什么。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

如果你有两个活动,比如activity1和activity2,那么无论何时你将activity1发送到activity2,它都会像这样执行

activit1.onpause
activity2.oncreate
activity2.onstart
activity1.onstop
activty1.ondestory

我希望这些信息对您有所帮助:)。