Activity生命周期
onCreate() | 活动第一次创建时调用。 |
onStart() | 活动由不可见变为可见的时候调用 |
onResume() | 准备好和用户进行交互的时候调用。 |
onPause() | 在系统准备去启动或恢复另一个活动时调用,这个方法执行速度一定要快,不然会影响新的栈顶活动。 |
onStop() | 活动完全不可见的时候调用。 |
onDestroy() | 活动销毁前调用。 |
onRestart() | 由停止状态变为运行状态之前调用。 |
Fragment生命周期
setUserVisibleHint() | 设置Fragment可见或不可见时会调用此方法。该方法里面可以通过调用getUserVisibleHint()获得Fragment的状态是可见还是不可见的,如果可见则进行加载操作 |
onAttach() | 执行该方法时,Fragment于Activity已经完成绑定,该方法有一个Activity类型的参数,代表绑定的Activity,这时你可以执行诸如mActivity=activity的操作 |
onCreate() | 初始化Fragment,可通过参数savedInstanceState获取之前保存的值 |
onCreateView() | 初始化Fragment的布局。加载布局和findViewById的操作通常在此函数内完成,但是不建议耗时的操作,比如读取数据库数据列表 |
onActivityCreated() | 执行该方法时,于Fragment绑定的Activity的onCreate方法已经执行完成并返回,在该方法内可以进行与Activity交互的UI操作,所以在该方法之前Activity的onCreate方法并未执行,如果提前进行交互操作,会引发空指针异常。 |
onStart() | 执行该方法时,Fragment由不可见变为可见状态 |
onResume() | 执行该方法时,Fragment处于活动状态,用户可与之交互 |
onPause() | 执行该方法时,Fragment处于暂停状态,但依然可见,用户不能与之交互。 |
onSaveInstanceState() | 保存当前Fragment的状态。该方法会自动保存Fragment的状态,比如EditText键入的文本,即使Fragment被收回又重新创建,一样能恢复Edittext之前键入的文本 |
onStop() | 执行该方法时,Fragment完全不可见 |
onDestoryView() | 销毁与Fragment有关的视图,但未与Activity接触绑定,依然可以通过onCreateView方法重新创建视图。通常在**ViewPager+Fragment**的方式下调用此方法 |
onDestory() | 销毁Fragment。通常按Back键退出或Fragment被回收时调用此方法 |
onDetach() | 接触与Activity的绑定,在onDestory方法之后调用 |
Activity横屏时生命周期的变化
如果在Androidmanifests.xml给Activity添加了下面那句代码,则不会进行生命周期的方法调用,只调用了onConfigurationChanged
android:configChanges="orientation|screenSize"
否则进行如下的生命周期变化