Android思考堆栈

Android思考堆栈,android,Android,我对以下场景有一个简单的理解: 活动A:用户可以在其中选择项目的项目列表 活动B:所选项目的选项列表 活动C:显示所选项目和所选选项的购物车 在活动C中,我有一个按钮,可以继续购物。当用户单击“继续购物”时,很容易加载活动a的新实例,但如果用户添加了许多项目,我将有许多不再需要的活动实例 我的两个问题: 有没有安全的方法返回活动a?代码是什么样子的 我是否应该每次都重新创建活动,并信任操作系统杀死以前的实例?换言之,是否有性能原因需要担心有多个实例 您需要了解意图标志,这些标志决定如何在堆栈上

我对以下场景有一个简单的理解:

  • 活动A:用户可以在其中选择项目的项目列表
  • 活动B:所选项目的选项列表
  • 活动C:显示所选项目和所选选项的购物车
  • 在活动C中,我有一个按钮,可以继续购物。当用户单击“继续购物”时,很容易加载活动a的新实例,但如果用户添加了许多项目,我将有许多不再需要的活动实例

    我的两个问题:

    • 有没有安全的方法返回活动a?代码是什么样子的
    • 我是否应该每次都重新创建活动,并信任操作系统杀死以前的实例?换言之,是否有性能原因需要担心有多个实例

    您需要了解意图标志,这些标志决定如何在堆栈上处理和存储活动,文档中有许多标志,查找名称以FLAG\u ACTIVITY\u开头的整数,以确保我理解:如果我设置FLAG\u ACTIVITY\u CLEAR\u TOP如果活动A仍在堆栈中,它将清除A上的所有活动,但如果不是,它将启动一个新实例。这是正确的,您正常启动活动,但提供该标志,如果活动在堆栈上,则意图将传递到活动的现有实例,并将调用onNewIntent方法。它似乎工作得很好!谢谢