Android笔记 —— Activity的生命周期

0x00 前言

之前我们学习过的知识。

Android笔记 —— Activity的生命周期

0x01 活动状态

1.运行状态

当一个活动位于返回栈的栈顶时,活动处于运行状态。

2.暂停状态

当一个活动不再处于栈顶位置,仍然可见,活动进入了暂停状态。

3.停止状态

当一个活动不再位于栈顶位置,并且完全不可见的时候,就进入了停止状态。

4.销毁状态

活动从返回栈中移除后就变成了销毁状态。

0x02 活动的生存周期

onCreate ( )

活动第一次被创建的时候调用。

onStart()

活动不可见变为可见的时候调用。

onResume()

活动在准备好和用户交互的时候调用。

onPause()

系统准备去启动或者回复另一个活动的时候调用。通常在这里讲一些消耗CPU的资源释放掉。

onStop()

活动在活动不可见的时候调用。

onDestory()

活动被销毁之前调用。

onRestart()

活动被重新启动。

0x03 三种生命周期

完整生命周期

onCreate()和onDestory()方法之前所经历的。

可见生存期

onCreate()和onStop()方法之前所经历的。

前台生存期

活动在onResume()方法和onPause()方法之间的就是前台生存期。

0x04 销毁之前保存数据

通过onSaveInstanceState()方法进行保存。

0x05 活动的启动模式

1.standard

默认的启动模式,每启动一个新的活动,就会在返回栈中入栈,并处于栈顶的位置。系统不会管这个活动是否在返回栈中存在,每次启动都会创建该活动的一个新的实例。

2.singleTop

如果发现返回栈的栈顶已经是该活动,则认为可以直接使用。

3.singleTask

每次启动该活动时系统首先会在返回栈中检查是否存在该活动的实例没如果发现已经存在则直接使用该实例。

4.singleInstance

设置之后,会启用一个新的返回栈来管理这个活动。