Android:活动导航循环-保留内存堆栈

时间:2018-10-05 14:46:45

标签: android

我正在开发具有如下导航循环行为的社交android应用程序:

A -> B -> C -> B -> C -> B -> ...

活动B是关注者的列表,而活动C是活动B中被点击的用户的个人资料。

当我启动B和C之间的导航循环时,我注意到设备的内存呈指数增长。目标是创建此循环,以保留历史记录回栈并在内存中使用相同的B activity object

  1. 我该怎么做?
  2. 是否需要通过硬编码创建自定义的后向堆栈管理对象?
  3. 我尝试在活动B上使用android:launchMode =“ SingleTask”,但该行为杀死了后退堆栈历史记录

1 个答案:

答案 0 :(得分:1)

您需要通过重用每个Activity的现有实例并跟踪在您自己的堆栈中启动了哪些活动来模拟这种行为,以便可以正确处理BACK键。

看看my answer to this question。它或多或少地描述了如何执行此操作。