实现hide()/ show()而不是使用带有Android Fratments的backStack

时间:2015-02-23 22:03:53

标签: android android-fragments

所以,我仍然是Android Fragments的新手,但是如果我把它正确,当你删除一个Fragment并使用addBackStack将它堆叠到后面的堆栈时(根据Android Developer's Fragment lifecycle)你得到这部分视图被摧毁,当它再次弹出到屏幕时,它必须重新加载它的所有组件。

我特别关注这一点,因为我的一个片段包含一张地图,这是要重新加载的大量数据(特别是如果使用3G)。

在这种情况下,在操作它们时,对我的所有碎片实施隐藏和显示是否更好? 我只是看到一个小问题,因为我必须创建自己的堆栈才能知道它们被调用的顺序并且必须再次显示。

嗯,现在这是一个很大的问题,但是我想听听某人是否值得努力实现这种方法而不是现有的后台。

提前致谢!

2 个答案:

答案 0 :(得分:0)

使用'thetach'和'detach'操作是解决问题的另一种方法。片段实例仍然存在,但已停用且不可见,您可以使用FragmentManager

恢复它们

答案 1 :(得分:0)

如果您的某个片段包含谷歌地图,最好使用片段视图显示/隐藏操作,以避免谷歌地图黑色闪烁错误。检查我的回答:https://stackoverflow.com/a/25206078/2999943