您的位置:首页 > 其它

Fragment生命周期

2017-10-01 18:14 141 查看
情景一:Activity中addFragment(new BlankFragment)

生命周期流程:

MainActivity: ========================================onCreate

MainActivity: ========================================onStart

MainActivity: ========================================onPostCreate

BlankFragment: ====================================BlankFragment

BlankFragment: ====================================onCreate

BlankFragment: ====================================onCreateView

BlankFragment: ====================================onActivityCreat

BlankFragment: ====================================onStart

MainActivity: ========================================onResume

BlankFragment: ====================================onResume

按返回键:

BlankFragment: ====================================onPause

MainActivity: ========================================onPause

BlankFragment: ====================================onStop

MainActivity: ========================================onStop

BlankFragment: ====================================onDestroyView

BlankFragment: ====================================onDestroy

BlankFragment: ====================================onDetach

MainActivity: ========================================onDestroy

按电源键,关闭屏幕:

E/BlankFragment: ====================================onPause

E/MainActivity: ========================================onPause

E/BlankFragment: ====================================onStop

E/MainActivity: ========================================onStop

按电源键,唤醒屏幕:

E/MainActivity: ========================================onRestart

E/BlankFragment: ====================================onStart

E/MainActivity: ========================================onStart

E/MainActivity: ========================================onResume

E/BlankFragment: ====================================onResume

规则:

1、在可见状态前,Activity的每个生命周期方法都会【先】Fragment的生命周期方法。

2、当可见状态向不可见状态过度时:Activity的每个生命周期方法都会【后】Fragment的生命周期方法。

3、例外:再上面两种情景下,是没有走Activity的onRestart()方法的(Fragment没有onRestart方法),例外情景:当可见时,按下电源键进行关闭屏幕,再此按下电源键唤醒屏幕时:此时生命周期的流程走向为:Activity的onRestart()----》Fragment的onStart() --》Activity的onStart() ---》Activity的onResume() ---》Fragment的onResume();

【大家发现了:此时的Fragment 的onStart 先于Activity的onStart,但是在第一次创建时,是先走Activity的onStart,再走Fragment的onStart,所以,大家这点要特别注意一下。】
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  生命周期 Fragment