在讲解活动的生命周期之前,简单的给大家简绍一下Activity是如何管理的。在Android中我们通过使用任务栈(Task)来管理活动,一个任务栈中存放了多个Activity。栈的特点是先进后出。
1.活动的状态(我主要是根据活动是否在栈顶和可见性来区分的)
①.运行状态:
活动处于栈顶的时候就处于运行状态
②.暂停状态:
这时活动是可见的,只是没有在栈顶
③.停止状态:
这时活动不处于栈顶,并且完全不可见。系统任然会为这种活动保存状态和成员变量,当其他地方需要内存的时候,处于停止状态的活动可能会被系统回收。(后面有处理该问题的方法)
④.销毁状态:
系统更加倾向于回收这种状态的活动。
2.生命周期方法
onCreate():完成活动的初始化操作,比如:加载布局,绑定事件等
onStart():不可见–>可见
onResume():活动准备好和用户进行交互的时候调用,此时的活动位于栈顶,并且处于运行状态。
onPause():系统准备去启动或者恢复一个活动的时候调用
onStop():活动完全不可见的时候调用
onDestory():活动被销毁之前调用,之后活动的状态就变为销毁状态
onRestart():停止状态–>运行状态
生命周期图我就不展示给大家了。下面是我做的一个关于生命周期小测试。
1.1启动主Activity