Activity生命周期
activity一共只有四种状态:运行-死亡-暂停-停止
- 界面从“死亡”–>”运行”
创建对象–>onCreate()–>onStart()–>onResume()- 界面从“运行”–>“死亡”
onPause()–>onStop()–>onDestroy()- 界面从“运行”–>“停止”
onPause()–>onStop()- 界面从“停止”–>“运行”
onRestart()–>onStart()–>onResume()- 界面从“暂停”–>“运行”
onResume()- 界面从”运行”–>”暂停”
onPause();
Activity的TaskStack
- 在Android中,系统中Task Stack(Back Stack)结构来存储管理启动的activity对象
- 一个应用启动,系统就会创建一个对应的Task Stack来存储并管理该应用的activity的对象
- 只有最上面的任务栈的栈顶的activity才能显示在窗口中
Activity的launchMode(加载模式)
在Android中,启动一个activity有时候总是创建一个新对象,有时需要复用已有的对象,可以通过在配置activity时通过launchMode属性指定
- launchMode属性值(4个)为:
- (1) standard: 标准模式,每次调用startActivity()方法就会产生一个新的实例
- singleTop:
(2)如果已经有一个实例位于activity栈的顶部时,就不产生新的实例,如果不位于栈顶,就会产生一个新的实例- singleTask:
(3) 只有一个实例,默认在当前task中- singleInstance
(4)只有一个实例,创建时会创建一个栈,此栈中不能有其他对象