码迷,mamicode.com
首页 > 其他好文 > 详细

Activity的启动模式

时间:2016-03-24 20:08:04      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:

Activity的四种启动模式:
在AndroidManifest.xml中给Activity进行配置,配置代码:
 
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的启动模式

Activity的启动模式

标签:

原文地址:http://www.cnblogs.com/glh199006/p/5316740.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!