因此,当方向改变时,我们可以添加setRetainInstance(true),这将保存片段不会在方向更改时被销毁,但getFragmentManger将提供不同的fragmnent管理器实例。那么这是如何内部工作的。不同的片段管理器如何知道应该使用这个片段。将调用哪些片段生命周期方法?
答案 0 :(得分:1)
没有魔法。
FragmentManager
在FragmentActivity
调用Parcel
的{{3}}时保存状态。
然后从onSaveInstanceState()
的FragmentActivity
捆绑中获取状态。
您可以在onCreate()
和FragmentManagerImpl::saveAllState()
中查看实际保存和恢复实施代码。