Android ActionBar每次都会重新加载片段

时间:2013-02-04 16:04:15

标签: android android-actionbar

我有一个带有操作栏,标签和一些片段的主要活动。每次切换选项卡时,都会重新创建完整的片段。在一些片段上,我有一个列表视图,其中包含从web服务加载的内容,我不希望从webservice中调用它...列表视图是一个单击列表视图,因此您可以浏览它。

片段是最佳选择还是我需要其他东西来保持内容保持活力。例如iOS中的tabbar,每个viewcontroller都保持活动状态。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我不知道是否有可能改变行为以使Fragment在内存中持续存在,但我确实记得在使用FragmentPagerAdapter时需要自己做类似的事情,在开始销毁之前,可以指定适配器在内存中保留的最大Fragment个数。然而,这是我出于特殊原因所做的一个例外情况。

正确的'Android方式'是设计你的FragmentActivity类,以便他们可以定期处理创建/销毁周期,坚持并回忆他们的状态。最好不要尝试更改销毁和创建行为,而是使用为此目的设计的现有生命周期方法来保留Fragment中的状态数据。从Web服务加载的数据应根据数据的类型在适当的位置缓存。应该意识到的是,Fragment / Activity类实际上也需要能够应对在设备轮换等事件期间被破坏。如果设备进入休眠状态,或者应用程序进入后台等,也会发生这种情况。因此,很难摆脱在onDestroy() / {{1}之间保持状态和Web服务数据的需要。循环。