知识补充:
1、栈和队列:栈是先进后出,队列是先进先出。
2、每个应用都有一个任务栈,用来存放Activity的实例。
一、设置模式:在AndroidManifest.xml文件中,通过设置Activity的属性android:launchMode。
二、四种启动模式
1、standard:每次激活Activity时(startActivity),都创建Activity实例,并放入任务栈。
2、singleTop:判断当前要激活的Activity实例在任务栈中是否正处于栈顶,若是则无需重新创建新的实例,会调用实例的newInstance()方法重用已存在的实例;否则会在任务栈中创建新的实例。
3、singleTask:如果任务栈中存在该模式的Activity实例,则把栈中该Activity实例以上的Activity实例全部移除,调用该实例的newInstance()方法重用该Activity,使该实例处於栈顶位置,否则就重新创建一个新的Activity实例。
4、singleInstance:如果应用1的任务栈中创建了Activity实例,如果应用2也要激活Activity,只要该实例还在任务栈中,即只要激活的是该Activity实例,则不需要创建,都会通过调用实例的newInstance()方法重用该Activity,两应用共享该Activity实例。
一、
Activity启动模式的设置在
AndroidManifest.
xml
文件中,通过配置
Activity的属性
android:launchMode
=
""
设置
。