与activity一样,fragement也有自己的生命周期,很多方法都是类似的。
- fragemet与activity建立连接时候调用此方法。我在写demo时会在此处会对数据进行初始化
onAttach(Activity activity) :
- 含有Bundle savedInstanceState
这三个方法可以通过savedInstanceState获取数据,onCreateView可以通过inflater加载界面
onCreate(Bundle savedInstanceState)
onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState)
onActivityCreated(Bundle savedInstanceState)
3 . 用户交互
通常是onStart()方法执行完执行onResume()。onResume是fragement获得界面焦点,在与用户交互onStart是fragement在屏幕上是可见的,但是不能交互。
onStart()
onResume()
- 碎片被移除或者切换
fragementTransaction中的remove和replace方法可以将fragement从activity中移除。
onPause()
onDestroy()
onDestroyView()
- onSaveInstanceState(Bundle outState)
1)只要Activity不finish,Activity进入后台(比如Home键,跳转到其他的Activity),则其就会调用onSaveInstanceState(Bundle outState)方法,而且这个方法是在onPause方法之间进行调用的。
2)如果Activity是执行了finish方法,才进入的后台,则不调用这个onSaveInstanceState(Bundle outState),而且下次再进入时,也不会使用这个保存的数据。
3) 在系统杀掉Activity所在的进程时,onSaveInstanceState(Bundle outState)方法根本就没有调用过。