use*_*024 5 lifecycle android fragment android-activity
嗨,我有一个关于在重新创建Activity时保留片段的问题。我听说一种方法是在onCreate方法中使用setRetainFragment(true)。问题是-与在Activity中跟踪私有Fragment属性有什么不同,以便在活动的整个生命周期中我始终拥有相同的Fragment对象?谢谢!
setRetainInstance(true):片段的状态将在配置更改(例如屏幕旋转)时保留(而不是销毁!)。即使配置更改导致“父”活动被破坏,该状态也将保留。但是,片段视图被破坏了!
生命周期调用:
- onPause()-> onStop()-> onDestroyView()-> onDetach()
- onAttach()-> onCreateView()-> onStart()-> onResume()
setRetainInstance(false):分段的状态不会在配置更改中保留(默认)。
生命周期调用:
- onPause()-> onStop()-> onDestroyView()-> onDestroy()-> onDetach()
- onAttach()-> onCreate()-> onCreateView()-> onStart()-> onResume()
重要说明:setRetainInstance(true)不适用于后堆栈上的片段。setRetainInstance(true)对于不关心配置更改的Fragment中长时间运行的操作特别有用。
| 归档时间: |
|
| 查看次数: |
3292 次 |
| 最近记录: |