Activity生命周期的学习笔记(欢迎指正和补充)

Activity的生命周期

① activity启动
activity启动
② Activity被DialogActivity覆盖其上
在这里插入图片描述
注意:
?Activity被Dialog覆盖的时候不会onPause(),被Dialog风格的Activity覆盖其上才会onPause()。
?onStart()和onStop() :是否可见
? onResume()和onPause():是否能够与用户交互

③ Activity从被覆盖状态回到前台
在这里插入图片描述
④ 锁屏
在这里插入图片描述
⑤ 解锁屏
在这里插入图片描述
⑥ ②和④的组合:先打开DialogActivity:onPause() → onSaveInstanceState(),然后锁屏 onStop()

⑦ 在第⑥的基础上,解锁屏回到DialogActivity:onRestart() → onStart(),关闭DialogActivity:onResume()

⑧ 当前Activity跳转到另一Activity或者按Home键回到桌面
在这里插入图片描述
⑨ 在⑧的基础上,回到Activity
在这里插入图片描述
⑩ 旧Activity打开新Activity:旧Activity的onPause(),然后新Activity的onCreate() → onStart() → onResume(),最后旧Activity的onStop()

①① 点手机右小角的正方形键,打开任务栏:onPause() → onStop()

Activity生命周期的学习笔记(欢迎指正和补充)_第1张图片

右滑关闭APP,注意此时onDestroy()不会执行
Activity生命周期的学习笔记(欢迎指正和补充)_第2张图片

异常情况下Activity的生命周期
① 由于资源相关的系统配置发生改变导致Activity被kill后重新创建
例子:旋转屏幕
Activity生命周期的学习笔记(欢迎指正和补充)_第3张图片
注意:
?onSaveInstanceState()的调用在onStop()之前,与onPause无关
? onRestoreInstanceState()的调用在onStart()之后,与onResume()无关
?防止重建Activity使用 android : configChanges = “orientation”

② 由于系统内存不足导致低优先级的Activity被回收
优先级:前台Activity>可见非前台Activity>后台Activity

Activity和Fragment的生命周期关系

?开启
Activity生命周期的学习笔记(欢迎指正和补充)_第4张图片
?重启
Activity生命周期的学习笔记(欢迎指正和补充)_第5张图片
?关闭
Activity生命周期的学习笔记(欢迎指正和补充)_第6张图片

Activity和Menu的生命周期关系

在这里插入图片描述

参考博客:Android 四大组件

你可能感兴趣的:(学习笔记,学习笔记)