Android四大应用组件之Activity初探
理解Acitivity
- 定义:
Activity直译为活动,它是四大组件中用的最多的也是最重要的。它是用来提供一个让用户操作并与之交互的界面。
- 生命周期:
- 四种状态:
运行状态:可见可操作
暂停状态:可见但不可操作
停止状态:不可见,但对象存在
死亡状态:对象不存在
- 加载模式 (LaunchMode)
standard: 标准模式,每次调用startActivity()方法就会产生一个新的实例。
singleTop: 顶部单例模式,如果已经有一个实例位于Activity栈的顶部时,就不产生新的实例;如果不位于栈顶,会产生一个新的实例。
singleTask: 任务栈单例模式,首先启动一个FirstActivity,如果用FirstActivity去启动SecondActivity,首先创建SecondActivity,再使用SecondActivity去启动FirstActivity则会干掉SecondActivity,整个栈中只存在FirstActivity。
singleInstance: 单一实例模式,只有一个实例, 创建时会新建一个栈, 且此栈中不能有其它,假设三个Activity,SecondActivity为单一实例模式,使用FirstActivity启动SecondActivity,会新建一个栈(栈中只有SecondActivity),如果此时SecondActivity去启动ThirdAcitivity,那么会在第一个栈中创建ThirdAcitivity对象(此栈中FirstActivity位于栈底,ThirdAcitivity位于栈顶),此时退出ThirdAcitivity则会回到FirstActivity,再次退出回到SecondActivity,再次退出关闭应用。