1.启动一个activity和按返回键关闭activity时的生命周期
文章图片
文章图片
正常启动关闭activity:onCreate —> onStart —> onResume —> onPause —> onStop —> onDestroy
2.先打开activity,接着按下home键,再打开activity,再关闭
文章图片
启动activity:onCreate —> onStart —> onResume
按下Home键:onPause —> onStop
重新打开: onRestart —> onStart —> onResume
关闭: onPause —> onStop —> onDestroy
3.先打开activity,从一个activity跳转到另一个activity
文章图片
假设 A–MainActivity, B–TwoActivity
启动第一个activity:A_onCreate —> A_onStart —> A_onResume
跳转到第二个activity:A_onPause —> B_onCreate —> B_onStart —> B_onResume —> A_onStop
特殊: 当点击跳转按钮从A跳转到B后快速点返回键时,A_onStop并不执行。
文章图片
再回到上一个activity:B_onPause —> A_onRestart —> A_onStart —> A_onResume —> B_onStop —> B_onDestroy
4.activity异常情况下生命周期,如横竖屏时
文章图片
启动activity:onCreate —> onStart —> onResume
旋转屏幕:onPause —> (onSaveInstanceState) —> onStop —> onDestroy —> onCreate —> onStart —> (onRestoreInstanceState) —> onResume onSaveInstance和onRestoreInstance是只有Activity异常销毁的时候才会调用的,所以这里一般执行的是Activity异常销毁时需要保存和恢复的数
【Activity生命周期简洁版】5.横竖屏时做处理时
文章图片
当在AndroidMainfest.xml里:
android:configChanges="orientation|screenSize"//界面方向以及大小的改变不需要重建
当加了这个属性后,横竖屏生命周期没有变化。
推荐阅读
- Android|Android 消息机制源码分析
- Android开发|如何在Android模拟器上运行Adobe的Android程序
- 历史上的今天|【历史上的今天】9 月 11 日(Adobe 公司联合创始人出生;现代游戏机鼻祖诞生;谷歌推出 Android Pay)
- Android|Android资源管理框架(编译和打包)
- Android|Android资源管理框架(查找过程)
- android|android kotlin Dimension
- #|【安卓学习之常见问题】初始化Spinner、CheckBox和SeekBar不触发事件
- Android开发笔记|【Android笔记28】Android中的数据存储技术之Shared Preferences
- Kotlin|【Kotlin基础系列】第2章 基本语法(1)