Android如何将活动放在后台而不是堆栈中

Android如何将活动放在后台而不是堆栈中,android,android-activity,Android,Android Activity,我有活动A和活动B。当应用程序打开时,活动A打开 我去A到B。那么你如何“从B回到A”,而不破坏B,这样当你从A到B的过程是超快速的?(您如何打开旧B而不创建新B?) 还有一个问题,当你“从B返回A”时,当你返回A后按“返回”按钮时,有没有办法阻止B出现?你认为需要阅读以下内容: 如果您想在按A键时始终退出应用程序,则可以覆盖“onBackPressed” 可以说,关于如何保持“活动”状态,可以在清单中将A设置为“singleInstance”或“singleTask” 创建B时,请在onCre

我有活动A和活动B。当应用程序打开时,活动A打开

我去A到B。那么你如何“从B回到A”,而不破坏B,这样当你从A到B的过程是超快速的?(您如何打开旧B而不创建新B?)


还有一个问题,当你“从B返回A”时,当你返回A后按“返回”按钮时,有没有办法阻止B出现?

你认为需要阅读以下内容:

如果您想在按A键时始终退出应用程序,则可以覆盖“onBackPressed”

可以说,关于如何保持“活动”状态,可以在清单中将A设置为“singleInstance”或“singleTask”

  • 创建B时,请在
    onCreate
    中完成所有的艰苦工作,以便稍后恢复B时,它启动得更快。B只有在不使用时才会被销毁,android需要释放一些内存。因为它在后台,切换到它会非常快。要加快切换速度,可以在不使用动画的情况下切换:

        Intent intent = new Intent(this, B.class);
        startActivity(intent);
        overridePendingTransition(0, 0);
    
  • 要防止创建多个B活动,请在清单的B活动标记集中:

    android:launchMode="singleTask"
    
  • 从B返回到A后,再次返回将退出应用程序。那是除非你去一家公司。然后,您需要覆盖活动A中的
    onBackPressed()
    ,该活动总是退出应用程序,而不是返回到B


  • 1) 似乎每次都在创建活动B,而不是继续。我将从A到B和B到A显式使用意图-意图-新意图。。。startActivity,因为我有额外的数据需要用putExtra发送两次。您知道如何在每次打开活动B时恢复活动B而不创建它吗?B是单任务。3) 如何完全以编程方式退出应用程序?finish()只需退出该活动。当我从B转到A时,我的应用程序中就有这个东西,按“上一步”按钮只需退出该应用程序。我不知道为什么,但它应该转到B。。我认为B每次都会被销毁,但我没有在B中调用finish(),而是启动了活动A的活动。我想你可以通过moveTaskToBack退出应用程序(true);