返回栈
Android是使用任务(task)来管理活动,一个任务就是一个返回栈(back stack),每当我们开启一个活动时,该活动位于栈的最顶端,每当我们按下返回键时,栈顶的活动状态将被设置成finish状态并且出栈等待系统回收:
Activity的状态
Activity总共有4种活动状态 :
运行状态 | 活动处在栈顶(可见) |
暂停状态 | 活动不在栈顶但可见 |
停止状态 | 活动不在栈顶也不可见 |
销毁状态 | 此时活动已经从返回栈中移除,等待系统回收 |
Activity的回调方法
onCreate() | 活动创建时调用 |
onStart() | 活动由不可见变成可见时调用 |
onResume() | 活动位于返回栈栈顶时调用 |
onPause() | 活动从位于栈顶变成非位于栈顶时调用 |
onStop() | 活动从可见变成不可见时调用 |
onDestroy() | 活动被销毁前调用 |
onRestart() | 活动从停止状态(活动不可见)变成运行状态(活动位于栈顶)时调用 |
上方7种回调方法中除了onRestart()都是两两相相对。以下是生命周期示意图:
- 完整生命周期:onCreate()与onDestory()间的生命周期。
- 可见生命周期:onStart()与onStop()间的生命周期,此时活动对用户总是可见,即便有可能无法交互。
- 前台生命周期:onResume()和onPause()间的生命周期,此时活动总是处于运行状态,可以与用户交互。