Activity启动模式
可以根据实际的需求为Activity设置对应的启动模式,从而
可以避免大量重复的activity等问题
Activity有四种加载模式
1. standard
2. singleTop
3. singleTask
4. singleInstance
设置的位置在AndroidManifest.xml文件中activity元素
的android:launchmode="singleTask"
注意:默认情况下,是standard模式
setTitle("title是可以设置的哦");
1.standard启动模式
每次激活Activity时都会创建新的activity的实例,并且放在栈中
栈(就是后进先出)
2.singleTop启动模式
可以有多个实例,但是不允许此Activity的多个实例
叠加。既,如果此Activity有实例在栈顶的时候,启动这个Activity
,不会创建新的实例,而会调用其onNewIntent方法
如果不在栈顶则创建新的实例
从写onNewIntent(Intent intent){}
@Override
protected void onNewIntent(Intent intent){
super.onNewIntent();
//这里其实不需要我们做什么,只是说明,singleTop
//模式会在此调用此方法,而不是去创建新的实例
//只有当栈顶为空的时候,才会创建activity的实例
}
3. singleTask 启动模式
只能有一个实例,在同一个应用程序中启动他的时候,
若不存在Activity实例
,则会在当前栈创建创建一个新的实例,若存在
则会把栈中在其之上的activity实例销毁掉,
并且调用此实例的onNewIntent(),如果是在别的
应用中启动它,则会新建一个栈,并在该栈中创建
activity实例
使用隐式意图打开其他软件,只要知道
action,category就可以了
4. singleInstance启动模式
只能有一个实例,并且这个实例独立运行在一个activity任务栈中
,这个task只有这个实例,不允许有别的activity存在
也就是说,这个activity打开时,开辟一个空间(栈)
并且,只允许自己在这个栈中