我有一个带有图像视图的简单活动,一个简单的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/