Anticity是android的四大组件之一,提供一个屏幕,用户可以用来交互为了完成某项任务,这里简单界面一它的生命周期。
生命周期图
【Activity的7种生命周期】
1、onCreate 创建一个Activity实例
2、onStart 启动一个Activity
3、onResume 获取用户的焦点 Resumed 所有的界面互动都在此状态中运行
4、onPause 暂定状态 Paused:Activity在此前状态 1部分消耗cpu的操作或者停止动画,2提交未保存的修改 3释放系统资源
5、onStop 停止状态 Stoped:Activity在后台中,不显示
6、onRestart从新恢复Activity
7、onDestroy摧毁Activity实例
当一个Activity创建时执行
1、两种特殊情况
pause和Reaumed: 当用户从Pause状态返回时 直接就如Reasumed
Stopped和Reaumed:当用户从Stopped状态返回时,会先执行Restart方法 在进入Result
2、定义生命周期的优点
当用户后台运行程序时不会销毁有价值的系统资源
当用户离开再返回应用时不会丢失用户的进程
当手机屏幕进行横竖屏幕切换时不会崩溃或者丢掉用户进程
当用户由当前程序切换到其他程序时不会崩溃
3、Activity生命周期变化
1、启动 oncreat->onStart-->onResume
2、切换到其他Activity:onResume-->onPause-->onStop
3、返回 Onpause-->onResume
OnSop-->onRestart-->Onstart
4、结束:onResume-->onPause-->onStop-->onDestroy
4、恒竖屏幕时的生命周期
1、第一次启动竖屏 oncreat->onStart-->onResume
2、转向横屏时:竖屏onPause-->onStop-->onDestroy-->横屏 oncreat->onStart-->onResume
3、转向横屏时:横屏onPause-->onStop-->onDestroy-->竖屏 oncreat->onStart-->onResume
注、1设置Activity的android:configChanges=”orientation”时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
2设置Activity的android:configChanges=”orientation|keyboardHidden”时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged方法
5、两个Activity之间的生命周期
1、(main)启动 oncreat->onStart-->onResume
2、启动activity2时:(main)onPause-->(2)oncreat->onStart-->onResume--(main)onStop
3、activity2中按返回键:(2)onStop-->(mian)onRestart--onStart--onPasume-->(2)onStop-->onDestroy
4、activity2中如果回传参数到main,执行的顺序跟第3点一样