Andoroid生命周期
Android 应用的生命周期是指应用在其运行期间经历的一系列状态变化,这些状态由操作系统通过调用 Activity 生命周期回调方法来管理。理解这些生命周期回调方法对于开发一个表现良好和用户友好的 Android 应用至关重要。以下是 Android Activity 生命周期的关键组成部分,以及每个阶段的主要职责:

onCreate():
应用创建时被调用。 用于进行一次性的初始化操作,比如设置用户界面布局(通过 setContentView()),数据绑定,初始化类级别的资源(如线程、数据库连接等)。
onStart():
当 Activity 对用户可见时,此方法被调用。 应用可以在此阶段恢复被 onPause() 暂停的资源更新。
onResume():
当 Activity 准备好与用户交互时,此方法被调用,此时 Activity 位于栈顶,并捕获所有用户输入。 应用可以在此阶段初始化那些只有在应用可见时才需要的资源。
onPause():
当系统准备启动或恢复另一个 Activity 时调用。 应用应该在这个方法中暂停影响应用可见性的任何更新,释放不需要的资源。
onStop():
当 Activity 不再对用户可见时,此方法被调用。 应用可以在此阶段释放或调整资源,数据同步操作通常在这里执行。
onRestart():
当当前 Activity 从停止状态重新启动进入运行状态时,此方法被调用。 应用可以在此阶段重新初始化在 onStop() 中释放的资源。
onRestart() 方法上的星号表示,每次状态在 Created 和 Started 之间转换时,系统都不会调用此方法。仅当调用 onStop() 并且随后重启 activity 时,系统才会调用此方法。
onDestroy():
当 Activity 即将被销毁时调用。 这是清理资源(如解绑服务或移除广播接收器)的地方。如果 Activity 被系统销毁(如旋转屏幕),可能不会总是被调用。
示例
进入app
- onCreate() called
- onStart() called
- onResume() called
app进入后台
- onPause() called
- onStop() called
app从后台重新进入
- onRestart() called(onRestart会在不触发oncreate的时候触发)
- onStart() called
- onResume() called
app直接从后台杀死
- 会触发onPause,onStop,但是不会触发onDestory,因为被用户强制杀死进程,来不及触发ondestory
屏幕方向改变
- onPause() called
- onStop() called
- onDestroy() called (会摧毁当前activity然后再oncreate)
- onCreate() called
- onStart() called
- onResume() called
主题发生改变
- onPause() called
- onStop() called
- onDestroy() called
- onCreate() called
- onStart() called
- onResume() called
触发onCreated的场景
- 更改应用主题颜色
- 屏幕方向改变