Activity生命周期
![activity生命周期官方文档图片](https://img-blog.csdn.net/20160820113141915)
- onCreate() 不可见,没焦点
- onStart() 可见,没焦点
- onResume() 可见,有焦点
- onPause() 可见,没焦点
- onStop() 不可见,没焦点,但存在内存中
- onDistory() 销毁
点击返回键调用流程
onResume—onPause—–onStop—-onDistory
点击home键,再点击程序
onResume—onPause—–onStop—-onRestart—onStart—onResume
Activity与Activity之间跳转
onResume—onPause—-onCreate—-onStart—onResume(第二activity运行)—onStop(第一个activity停止)
Activity跳转到透明的activity并返回
onResume—onPause—onCreate—onStart—onResume–onResume
手机屏幕旋转
onResume–onPause–onStop–onDistory–onCreate–onStart–onResume//销毁原activity的数据系统调用onSaveInstanceStata方法保存数据,新activity可以通过onCreate或者重写的onRestoreInstance方法获取数据(如果销毁之前保存了数据,则新activity的onRestoreInstance方法肯定调用)
清单文件中activity节点设置了android:configChanges=”orientation|screensize|keyboardhiddin”属性,则activity的生命周期不会改变,但系统会调用onConfigurationChanged方法。
Service的生命周期
- onCreate
- onStartCommand
- onBind
- onUnbind
- onDistory
当服务第一次启动时调用onCreate方法和onSartCommand方法
如果服务调用bindService则系统会调用onBind方法
如果服务调用unBindService则系统会调用onUnbind方法
如果服务已经开启,则系统不会再调用onCreate方法只会调用onStartCommand方法
Fragment生命周期
onAttach //依附在activity上
onCreate
onCreateView//加载显示Fragment的内容
onActivityCreated//当onCreateView中初始化view完成后调用该方法
onStart //可见没有焦点
onResume//可见有焦点
onPause//可见失去焦点
onStop//不可见
onDestoryView//销毁在onCreateView中创建的fragment
onDestory
onDetach//取消与activity之间的依附关系
点击home键 在点击该应用
onResume–>onPause–>onStop –>onStart–>onResume(fragment没有onRestart方法)
跳转至另一个fragment
彻底销毁当前fragment在启动目标fragment