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

Activity启动模式

时间:2016-03-21 18:13:20      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

在AndroidManifest.xml中<activity>元素的android:launchMode属性设置

1.standard

* 默认模式。不需要对launcherMode进行配置

* 每次调用startActivity()无论如何都会启动新的Activity对象

2. singleTop

* 如果被启动的Activity在栈顶,不会启动新的Activity对象;否则,会启动新的Activity对象
结论1:当收到通知时有可能会跳转到栈顶的activity
结论2:出现的机会不大

3.singleTask

1. 如果被启动的Activity不存在,则创建新的Activity对象
2. 如果被启动的Activity在本栈中已经存在,则把该Activity之上的其他Activity统统出栈
3. 如果被启动的Activity存在于后台其他栈上,则把该Activity之上的其他Activity统统出栈,把该Activity与其以下的Activity加入到当前栈中

这种模式非常常见比如,想要退出整个应用程序。单独一个一个activity退出会比较麻烦。因此考虑:
(1). 把入口的MainActivity的launchMode设置成singleTask
(2). 在需要退出应用的时候,调用startActivity(Main)
(3). 退出MainActivity 整个应用就退出了

4.singleInstance
*  给Activity运行在一个独立的task中(task中只有一个Activity)
activity中通过getTaskId()获得当前activity所在的任务栈id
共用Activity的时候使用,比如百度地图(BaiduMap)的activity会被Map、Navi、大众点评等应用访问
 

 

Activity启动模式

标签:

原文地址:http://www.cnblogs.com/anni-qianqian/p/5302811.html

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