gpt4 book ai didi

android - 调用 startActivityOnResult() 会自动调用当前 Activity 的 onPause()、onStop() 和 onDestroy() 方法

转载 作者:太空狗 更新时间:2023-10-29 12:53:14 26 4
gpt4 key购买 nike

我通过调用 startActivityForResult() 开始另一个 Activity ,在按下后退按钮后,我之前的 Activity 的 onCreate 方法被调用,因此重新创建了整个 Activity 。

在调试时我发现调用 startActivityOnResult() 会自动调用

onPause()
onStop()
onDestroy()

当前 Activity 的方法。这是正常行为吗,因为我读过它在开始另一个 Activity 时只调用 onPause() 方法。

这是我的代码:

    @Override
public void onResume() {
super.onResume();
}

@Override
public void onPause() {
super.onPause();

}

@Override
public void onStop() {
super.onStop();

}

@Override
public void onDestroy() {
super.onDestroy();
}


public void showScore(View view) {
Intent i = new Intent(StartMultipleChoiceActivity.this, ScoreActivity.class);
i.putExtra("blockPosition", blockPosition);
int itemVisited=submittedAnswers.size();
i.putExtra("itemVisited", itemVisited);
int itemCorrect=correctAnswers.size();
i.putExtra("itemCorrect", itemCorrect);
startActivityForResult(i,1);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
}

最佳答案

onPause()onStop() 完全正常。只要您的 Activity 不再有前台输入 (onPause()) 并且不再可见 (onStop()),它们就会被调用。

onDestroy() 只有在您以某种方式自己完成 Activity 时才应调用,或者如果您在单独的应用程序中启动 Activity 并且 Android 需要终止您自己的应用程序进程以释放内存。

关于android - 调用 startActivityOnResult() 会自动调用当前 Activity 的 onPause()、onStop() 和 onDestroy() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9735234/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com