onBackPressed() 最佳 Practice/Performance

onBackPressed() Best Practice/Performance

我通常这样重写 onBackPressed()

@Override
public void onBackPressed() {
    super.onBackPressed();
    Intent intent = new Intent(getApplicationContext(), HomeActivity.class);
    startActivity(intent);
    finish();
}

直到现在我才看到当我使用此代码单击后退按钮时 我在过渡中看到一个白色 activity 持续 0.5 秒。

稍微测试了一下,我发现如果我改用这段代码,问题就不会发生:

@Override
public void onBackPressed() {
    Intent intent = new Intent(getApplicationContext(), HomeActivity.class);
    startActivity(intent);
    finish();
    super.onBackPressed();
}

这两个代码有什么区别?如果我用第二个就好了?导致任何内存问题? 谢谢

super.onBackPressed 只是调用完成。如果您自己打电话完成,则不需要。只需删除该行。

您可能会看到视觉差异的原因是,在一个中您完成这个意图然后开始一个新的,而不是开始一个新的然后完成这个。第一个可能会短暂留下空白屏幕。