我有一个带有图像视图的简单活动,一个简单的menuItem用于previus活动中。

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case android.R.id.home:
            finish();
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}


我只是意识到,如果我按下返回按钮以返回上一个活动,则android确实非常快,但是按上面的菜单项会浪费一秒钟。为什么?

最佳答案

进行退货的默认方式是

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()){
        case android.R.id.home:
            return super.onOptionsItemSelected(item);
    }
}


通过调用finish(),您可以安排要销毁的当前活动,即调用onDestroy()。这会进行一些清理,从而产生开销,并且您会遇到一些延迟。因此,如果您实际上不必在那里使用finish()(例如,关闭某些对话框或光标),只需将其忽略并使用提供的默认解决方案即可。

希望这可以帮助!

关于android - 后退按钮比在onOptionsItemSelected菜单中调用finish()更快,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48034351/

10-09 00:37