将Fragment.setRetainInstance()
用于所有Fragments
以摆脱处理Fragment
娱乐,保存实例状态等是不是一个好习惯?为什么不呢?
答案 0 :(得分:2)
是的,如果必须保留配置更改,则可以将其与不在后端堆栈中的片段一起使用。它只是让事情更简单。
答案 1 :(得分:2)
这并不总是好的,不是。通过保留实例,你告诉'你们老了Android给你一个Fragment
的完全相同的实例,即片段的onDestroy
从未被调用,而不是它是onAttach(ed)和onDetach(ed)
通常,您需要重新流动视图以利用不同的屏幕比例(例如)更改方向并让您的片段保留其状态意味着框架不会尝试使用您的例如,如果以纵向模式启动,则“横向友好”视图。
onRetainInstance
的影响是微妙的,它不是银弹。谨慎使用。