为了摆脱处理娱乐、保存实例状态等,Fragment.setRetainInstance()
为所有人使用它是一种好习惯吗?为什么不?Fragments
Fragment
问问题
1783 次
2 回答
2
是的,如果必须保留配置更改,您可以将它与不在后台堆栈中的片段一起使用。它只是让事情变得更简单。
于 2012-07-21T19:36:54.647 回答
2
这并不总是好的,不。通过保留该实例,您是在告诉您旧的 Android 给您提供完全相同的Fragment
背面实例,即onDestroy
永远不会调用 Fragment,而是使用 onAttach(ed) 和 onDetach(ed)。
通常,由于方向更改(例如),您需要重新排列视图以利用不同的屏幕比例,并且让您的片段保持其状态将意味着框架不会尝试使用您的“风景友好" 例如,如果以纵向模式启动,则视图。
的影响onRetainInstance
是微妙的,它不是灵丹妙药。小心使用。
于 2012-07-24T10:25:00.413 回答