【发布时间】:2013-08-05 05:31:44
【问题描述】:
我想在这个导航用例中避免这种情况:A -> B -> A -> B -> A -> B ...
所有片段实例都保存在后堆栈中。原因:避免内存不足错误。
我尝试创建一个自己的导航工作流程,如下所述:https://stackoverflow.com/questions/18041583/fragments-backstack-issue?noredirect=1#comment26393904_18041583(它应该模仿活动行为,在开始一个新的之后总是调用完成(),同时只让第一个(家)在导航堆栈)。 但这似乎是非常错误或无法理解的。
所以我也想实现一个行为,比如“带到前面”标志的活动。但我不知道该怎么做。也许与 popBackStack 有关-但我不知道如果事务已经在后台堆栈中,如何询问片段。而且我不知道我是否走在正确的道路上。
这应该是一个相当标准的任务,因为每个导航菜单基本上都有这个问题。但是,似乎没有直接实施,也找不到有关它的信息。
有什么想法吗?
【问题讨论】:
-
你有没有得到任何地方?
-
否...但不确定内存参数了,因为 onCreateView 被回调,我认为内存已释放...
-
stackoverflow.com/a/18306258/3529873 请参考这个答案。它为我创造了魔力。
-
stackoverflow.com/a/18306258/3529873 它对我来说效果很好。这解决了我与片段堆栈管理相关的所有问题。