Activity的启动模式
2016-03-23 09:34
169 查看
启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置;
启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;
Activity启动模式设置:
Activity的四种启动模式:
1. standard
模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。
2. singleTop
如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。
3. singleTask
如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
4. singleInstance
在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。
启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;
Activity启动模式设置:
Activity的四种启动模式:
1. standard
模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。
2. singleTop
如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。
3. singleTask
如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。
4. singleInstance
在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。
相关文章推荐
- 使用ThreadLocalRandom产生并发随机数
- Java反射机制的学习(1)
- 把页面上的图表导出为pdf文件,分享一种请求下载文件的方法
- XAMARIN +VS2015 ANDROID 开发判断gps 是否打开。
- 网页实时刷新
- 架构安全 3/23/2016
- ASP.NET 使用Session,避免用户F5刷新时重复提交(转)
- Linux下实现软件的静默安装 debconf
- 解决Get和Post请求中中文乱码问题
- 机器学习简易入门(四)- logistic回归
- 为windows添加右键菜单
- 生产环境中centOS7最简版安装
- 在win7下安装IIS 7后打开自己的项目之后会出现500.19错误
- SharedPreferences方便存取工具类
- 当程序员面对小学数学题
- 哪些工具能有效管理Azure Active Directory?
- 使用cordova+Ionic+AngularJs进行Hybird App开发的环境搭建手册
- 使用CSS3 Media Queries实现网页自适应
- poj 1015 Jury Compromise 动态规划
- Redis开源代码读书笔记零(Ubuntu14.04 64位安装)