重新创建 activity 还是直接从任务中获取?

Recreate activity or just take it from task?

这个问题有点格式错误。对不起。 我想说的是,当您单击软件后退按钮时(actionBar 'up' 按钮 - 由 android 创建,当您在清单中建立父级 Activity 时)该按钮重新创建了一个 activity,它被认为是 "father"(如果我没记错的话)。

但我可以用这样的东西覆盖它:

    @Override
public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId()) {

        case android.R.id.home:
            onBackPressed();
            return true;
    }


    return super.onOptionsItemSelected(item);
}

如果我理解正确的话 activity 就不会重新创建。顶部的 Activity 刚刚完成()ed,我们看到 activity 在它下面保存在任务中。对吗?

考虑到我没有传回任何数据,我应该使用什么或什么更好:默认或覆盖行为?如果我不重新创建 activity 并覆盖改变行为的方法,我 运行 会有什么风险?任务中的 activity 会丢失吗? (如果我现在说的话,请原谅 :D )

我会建议使用这个

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

而不是这个,

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    return super.onOptionsItemSelected(item);
}

原因:

当您应用第二种方法时,FirstActivity 将再次启动,这意味着 onCreate() 将被调用,无论是第一种方法 onRestart() 是否会像我在评论中建议的那样被调用。

Note: If you want to reload FirstActivty on android.R.id.homepress event, use second approch.