java – onBackPressed()最佳实践/表现

我通常像这样覆盖onBackPressed():

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

只是现在我看到当我用这个代码单击后退按钮时,我在转换中看到0.5秒的白色活动.

测试了一下我发现如果我使用这个代码而不是问题没有发生:

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

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

最佳答案 super.onBackPressed只是调用完成.如果你自己打电话就不需要它.只需删除该行.

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

点赞