onCreate 创建
onStart 可见 但没被显示到前台
onResume 完全显示 获得焦点
onPouse 没有到后台 失去焦点
onStop 不可见 到后台
onDestory 销毁
eg:
1正常的启动:onCreate -onStart-onResume 创建 --可见 获得焦点
2正常的退出:onPause-onstop-ondestory失去焦点 -不可见 -销毁
3back: onpause-onstop -ondestory 失去焦点- 不可见- 销毁
4 home:onpause-onstop 再打开:onrestart-onstart-onresume 失去焦点- 不可见- 再打开,重新可见-可见-获得焦点
5对话框遮挡onpouse-onresume失去焦点-或者焦点
面试问题:activity的生命周期有哪些
1.oncreate onstart onresume onpause onstop ondestory
2.返回:onpause onstop ondestory
3.home:onpause onstop 再打开:onrestart onstart onresume
4.被弹款遮挡:onpause 取消弹框:onresume
5.A-B-A
Aonpause -Boncreate -Aonstop -Bonstart-Bonresume-Bonpause-Bonstop-Bondestory-Aonrestart-Aonstart-Aonresume
6.什么时候onstart不被调用
oncreate里直接退出或者被迫中断了
7.什么时候调用onrestart
onstop后被重新唤醒需要onrestart
8.什么时候onstop永远不会被调用
低内存的情况下只调用到onpause不会向下调用
9.横竖屏的切换
在activity中配置config,切换后会调用configchange的方法
从别处看到的笔记:
触发onSaveInstanceState(Bundle outState)的条件:
1、当用户按下HOME键时。
2、从最近应用中选择运行其他的程序时。
3、按下电源按键(关闭屏幕显示)时。
4、从当前activity启动一个新的activity时。
5、屏幕方向切换时(无论竖屏切横屏还是横屏切竖屏都会调用)。
在前4种情况下,当前activity的生命周期为:
onPause -> onSaveInstanceState -> onStop。