我想对 Activity 的 onCreate()
中的条件进行测试,如果为 true,将调用 finish()
。在调用 finish() 之前是否必须调用任何代码? (调用 finish() 后是否必须运行任何代码?)
例如
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // I'm pretty sure this is always required
setContentView(R.layout.activity_main); // is this required?
finish();
}
最佳答案
你可以在onCreate中自由调用finish()
,而不需要调用一些额外的方法,例如:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); //REQUIRED
if (isVariable) {
finish();
} else {
setContentView(R.layout.activity_main);
//code here
}
}
当你调用 finish 时,它不会停止执行方法,因此请确保 finish()
行下面没有任何内容。
如果您将在 onCreate 中调用 finish 以节省内存/速度,则不应调用 setContentView
。
我已经测试过这种方法,效果很好。
关于android - 在调用 finish() 之前,必须在 onCreate() 中运行哪些代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25461505/