Android 在内存不足的情况下正确处理导航和活动娱乐

Android 在内存不足的情况下正确处理导航和活动娱乐,android,navigation,activity-lifecycle,Android,Navigation,Activity Lifecycle,我的应用程序有3个活动,它们按照这个方向A->B->C链接在一起。现在我已经阅读了关于如何处理活动之间的向上导航的说明,在某些情况下,它并不像预期的那样工作。单击“向上”按钮时我稍微修改的代码: case android.R.id.home: Intent intent = NavUtils.getParentActivityIntent(this); if (NavUtils.shouldUpRecreateTask(this, intent)) Ta

我的应用程序有3个活动,它们按照这个方向A->B->C链接在一起。现在我已经阅读了关于如何处理活动之间的向上导航的说明,在某些情况下,它并不像预期的那样工作。单击“向上”按钮时我稍微修改的代码:

case android.R.id.home:
     Intent intent = NavUtils.getParentActivityIntent(this);
     if (NavUtils.shouldUpRecreateTask(this, intent))
           TaskStackBuilder.create(this).addNextIntentWithParentStack(intent).startActivities();
     else {
           intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
           NavUtils.navigateUpTo(this, intent);
     }
return true;
在正常情况下,它的工作方式与按后退按钮相同(父活动不会重新加载)。然而,当我在活动C中尝试创建一个低内存环境时,我可以返回到B(它被重新创建),但我无法从B进入a,而是直接进入我的主屏幕。我想要的是我可以从B回到A,从C回到B


我在所有活动中都有正确的
android:parentActivityName
标记,所以这里没有问题。我甚至试着设置活动A
android:launchMode=“singleTop”
,但也不起作用。有人对此有解决方案吗?

请再添加一些代码。可能是您正在某个地方完成活动。不,我没有任何完成活动A的呼叫线索。正如我所说的,在正常情况下,它工作得非常好,只有当设备内存不足时才会出现问题。您为什么在发布的代码中这样做??你们只是并没有完成你们的活动,当你们按下后退按钮时,它会自动转到最后一个活动。这是我们正在谈论的向上按钮,而不是后退按钮。它们不一样。这个向上按钮的作用是什么。你能澄清一下区别吗??