根据onCreate文档:
您可以在此功能中调用
finish()
,在这种情况下onDestroy()
将被立即调用,而不会有任何剩余的 活动生命周期(onStart(), onResume(), onPause()
等)正在执行。
但我面临着不同的行为。 onCreateOptionsMenu
将在onCreate
后调用,onDestroy
之后调用@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (...) {
startActivity(...);
finish();
return;
}
}
。有什么建议吗?
我正在运行的代码:
{{1}}
答案 0 :(得分:3)
方法onCreateOptionsMenu()
不正式属于生命周期方法。也许这就是它被调用的原因。如果这对您来说是一个问题,您只需添加一个支票并立即退出。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (isFinishing()) {
return false;
}
...
}
onCreate()
内的代码绝对有效。