我是Android开发的新手,我有一个包含各种活动的应用。出于性能原因,我希望在用户使用我的应用时正确管理活动。这是我的问题。
活动A - 使用地图开始活动
活动B - 用户从活动A导航到活动B(列表视图)。
然后,用户选择地图图标再次导航到活动A.
所以,如果你能想象它,我的活动堆栈现在是:
因此,如果我按下设备的后退按钮,它会在滚动活动时永远占用。
有没有办法管理这个,以便旧的活动被销毁,只是在选择活动导航图标时重新创建。我已经了解了onDestroy()
和onStop()
,但我对它们的实施感到有些困惑。
对措辞不佳的问题道歉,但我不确定要求有关活动的正确词典。
答案 0 :(得分:2)
一个简单的解决方案是在活动离开前景后立即将其杀死。
您可以通过在finish()
内调用onPause()
来完成此操作。
答案 1 :(得分:0)
你可以让B完成自己并返回A而不是开始另一个A.或者,如果你的堆栈可能更复杂,就像这样:
D
C
B
A
D可以用FLAG_ACTIVITY_CLEAR_TOP
启动A,这将导致D,C和B完成,将A留在顶部。 (该意图标志非直观地与其他几个标志进行交互,因此请阅读文档。)