2011-03-01 51 views
0

比方说,我有一个菜单,其中有3项相应地转到活动1,活动2和活动3。活动1可以导航到活动1a,然后导航到活动1b等。为了节省内存,当用户点击菜单进入活动2时,我是否可以销毁与活动1相关的所有活动?Android - 一旦我离开它,一组活动或任务能够被移除吗?

我已经仔细查看了所有的意图标志和任务,但是我找不到任何实现该意图的任务。任何帮助表示赞赏。谢谢。

回答

1

检查FLAG_ACTIVITY_NO_HISTORY标志。

这会让您的活动在用户转移到新的活动之后不会在堆叠中出现。

不幸的是,这种行为并非完全按照您指定的方式触发。我建议你不要为完成()活动而过于复杂,因为无论如何你的活动都会被杀死以回收内存。

+0

我不能使用历史标志,因为我想在活动1中保留历史堆栈。例如,当我点击后退按钮时,我想从活动1b导航到1a。但是当我参加活动2时,当我回击按钮时,我不想回到活动1b。相反,我想要进入主屏幕。 – nickyfantasy 2011-03-01 21:12:58

+0

这可以通过startActivityForResult()和setResult()来完成,但重新思考你希望你的活动如何工作可能会更好。当后退按钮被按下时用户期望什么? – 2011-03-01 21:16:48

+0

感谢您的回复。但是,如何使用startActivityForResult()来完成?当用户点击活动2中的后退按钮时,我想要用户返回到主屏幕(从何处开始活动1)。 – nickyfantasy 2011-03-01 21:40:18

相关问题