各种回调方法
回调方法 | 调用期 |
---|---|
onCreate() | 在Activity第一次被创建时调用 |
onStart() | 在Activity有不可见变为可见时调用 |
onResume() | 当Activity位于栈顶并准备好进行交互时调用 |
onPause() | 在启动或恢复另一个Activity时被调用 |
onStop() | 在onPause()之后,在Activity完全不可见时调用。Dialog不会触发此回调。 |
onDestroy() | 在Activity被销毁之前调用,调用后就销毁Activity |
onRestart() | Activity由停止变为运行之前调用 |
比如说我们有三个Activity
,
MainActivity
是主界面,有两个按钮,用来跳转到DialogActivity
或NormalActivity
DialogActivity
是一个对话框主题的Activity
NormalActivity
就是一个平平无奇的Activity
图示如下:
先上结论 :
(按执行顺序排序,以MainActivity内的回调方法为例)
- 启动MainActivity时
- onCreate()
- onStart()
- onResume()
- MainActivity -> NormalActivity
- onPause()
- onStop()
- 返回MainActivity
- onRestart()
- onStart()
- onResume()
- MainActivity -> DialogActivity
- onPause()
- 返回MainActivity
- onResume()
再用实例论证一下上述结论
为MainActivity
创建两个按钮,修改其布局文件:
<LinearLayout
android:orientation="vertical"
tools:ignore="MissingConstraints"
android:layout_height="match_parent"
android:layout_width="match_parent">