目录
6、Activity 的生命周期
(1)返回栈
Android 是使用任务(task)来管理 Activity 的,一个任务就是一组存放在栈里的 Activity 的集合,这个栈也被称作返回栈。
栈是一种后进先出的数据结构,在默认情况下,每当我们启动了一个新的Activity,它就会在返回栈中入栈,并处于栈顶的位置。而每当我们按下Back键或调用finish()方法去销毁一个Activity时,处于栈顶的Activity就会出栈,前一个入栈的Activity就会重新处于栈顶的位置。
系统总是会显示处于栈顶的Activity给用户。
(2) Activity 状态
每个 Activity 在其生命周期中最多可能会有四种状态。
① 运行状态
但一个 Activity 位于返回栈的栈顶时,Activity 就处于运行状态。系统最不愿意回收的就是处于运行状态的 Activity,因为这会带来非常差的用户体验。
② 暂停状态
当一个 Activity 不再处于栈顶位置,但仍然可见,Activity 就进入了暂停状态(比如对话框形式的 Activity 只会占用屏幕中间的部分区域),处于暂停状态的 Activity 是完全存活着的。
③ 停止状态
当一个 Activity不再处于栈顶位置,并且完全不可见的时候,就进入了停止状态,有可能会被系统回收。
④ 销毁状态
一个 Activity 从返回栈中移除后就变成了销毁状态。
(3) Activity 的生存期
Activity 类中定义了7个回调方法,覆盖了 Activity 生命周期的每一个环节。
• onCreate() 这个方法在Activity第一次被创建的时候调用。
• onStart() 这个方法在Activity由不可见变为可见的时候调用。
• onResume() 这个方法在Activity准备好和用户进行交互的时候调用。
• onPause() 这个方法在系统准备去启动或者恢复另一个Activity的时候调用。
• onStop() 这个方法在Activity完全不可见的时候调用。
• onDestroy()<