我有一个简单的活动,包含一个图像视图和一个简单的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会非常快,但按下上面的菜单项会浪费一秒钟。为什么呢?
答案 0 :(得分:1)
返回的默认方式是
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case android.R.id.home:
return super.onOptionsItemSelected(item);
}
}
通过致电finish()
,您可以安排销毁的当前活动,即致电onDestroy()
。这会进行一些清理,从而产生开销,并且您会遇到一些延迟。所以,如果你真的不必在那里使用finish()
(例如关闭一些对话框或游标),只需省略它并使用提供的默认解决方案。
希望这有帮助!