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。

本文详细介绍了Android Activity的生命周期,包括onCreate、onStart、onResume、onPause、onStop和onDestroy等关键状态,并给出了不同场景下的生命周期转换示例,如正常启动、退出、按Home键、弹框遮挡等。同时,提到了onSaveInstanceState在哪些情况下会被触发,以及横竖屏切换时的处理。此外,还讨论了onStart何时不会被调用、onRestart的使用条件和onStop不被调用的特殊情况。
1364

被折叠的 条评论
为什么被折叠?



