标签:
android:launchMode=""
四种模式:Standard、singleTop、SingleTask、singleInstance
|
standard模式:没有在AndroidManifest.xml文件中配置,或者配置为android:launchModel="standard"。
当启动一个Activity activity的时候,不管Activity栈中是否已经有此activity的实例,都会创建一个新的activity的实例
并置Activity栈的栈顶。
|
singleTop模式:在AndroidManifest.xml中配置为android:launchModel="singleTop"。
当启动一个Activity activity的时候,如果Activity栈的栈顶是activity的实例,那么系统将不创建新的activity实例,
而是沿用栈顶的activity实例,并且会执行activity中的onNewIntent方法。
如果Activity栈顶不是activity的实例,则和standard模式处理方式一样。
|
singleTask模式:在AndroidManifest.xml中配置android:launchMode="singleTask"。
当启动一个Activity activity的时候,如果Activity栈中,不管是栈顶还是栈的其它位置,只要含有activity的实例,
系统则不会创建新的activity实例,而是把activity实例提置栈顶,activity实例之上的其他Activity实例被移除栈,
即销毁他们。并且会执行activity的onNewIntent方法。
如果Activity栈中不包含activity实例,则和standard模式处理方式一样。
|
singleInstance模式:在AndroidManifest.xml中配置为android:launchMode="singleInstance"。
当启动一个Activity activity的时候,系统先查询所有其他的Activity栈中是否包含activity实例,如果包含
则不创建,直接使用现有的activity实例,并且调用onNewIntent方法。如果不存在,则会创建一个activity
实例,并且把新创建的activity实例置一个新的栈中,新栈理论上只会有activtiy这一个Activity。Activity的启动模式
|
标签:
原文地址:http://www.cnblogs.com/glh199006/p/5316740.html