文档章节

再说Activity的四种启动模式

TedYin
 TedYin
发布于 2014/02/23 18:54
字数 496
阅读 126
收藏 4

Android启动模式分为四种,分别为:standard、singleTop、singleTask、singleInstance

  1. stander 标准启动模式:

    这是Activity默认的启动模式,也是逻辑最简单的一种,只要Activity使用这种模式进行启动,系统会不管三七二十一,直接create一个Activity实例出来,然后加入到Task顶。

    2. singleTop:

    这中启动模式和standard的最大区别,就是它在启动时会检查Task顶部是否已经存在该Activity实例,if 存在 则重用已经存在的实例,else 重新创建一个activity实例并加入task顶部。

     3.singleTask

      这种启动模式相对于上面两个,就比较复杂。如果activity以这种模式启动,会执行下面的流程:

        a)系统会先为这个Activity加上Flag_new_task 的标签

        b)获取该activity的 taskAffinity属性(该属性默认为应用程序的包名)

        c)检查系统中是否已经存在taskAffinity属性值所对应的Task:

                !)如果存在该Task:则先检查该Task中是否有目标Activity的实例,if存在,则清空该实例以上所有的Activity实例,将该Activity实例放在Task顶部。如果不存在,则重新创建一个该Activity的实例,并且加入到该Task中。

                  !!)如果不存在该Task,则创建一个新的Task,并且创建目标Activity并将其加入到Task顶端。

      4.singleInstance

        这种模式启动Activity,会放置在一个单独的Task中,而且这个task中只有着一个activity,系统会保证其全系统唯一性。如果在这类Activity启动新的Activity则所启动的Activity有可能会生成新的Task中或加入到别的已有的task中,这个根据taskAffinity来确定。

Task的一些特点:Task不仅仅可以跨应用,也可以跨进程进行。

本文参考:http://blog.csdn.net/zhangjg_blog/article/details/10923643




© 著作权归作者所有

TedYin
粉丝 1
博文 20
码字总数 10592
作品 0
深圳
程序员
私信 提问
Activity启动模式(GIF 动态演示)

Activity的启动模式 本文首发在我的个人微信公众号:Android开发圈 引言 关于Activity的启动模式是面试高频问题,在平时开发中,作用也不小,所以还是很有必要搞懂这一块的知识。其实之前也有...

MRYangY
05/12
0
0
AndroidManifest.xml文件详解(activity)(三)

android:launchMode 这个属性定义了应该如何启动Activity的一个指令。有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用来决定被调用Activity在处理Intent对...

长平狐
2012/10/16
91
0
Android中Activity启动模式详解

 在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。   Android总Activity的启动...

带梦想一7飞
2013/05/23
0
0
详解Android中的四大组件之一:Activity详解

activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将处于栈顶的状态。 paused:暂停,处于失去焦点的时候,处于,可能是被如弹框一样遮盖,被通...

达叔小生
2018/08/07
0
0
Android中Activity启动模式详解

Android中Activity启动模式详解   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方...

大凉龙雀
2013/05/25
0
1

没有更多内容

加载失败,请刷新页面

加载更多

Spark Streaming的优化之路——从Receiver到Direct模式

          作者:个推数据研发工程师 学长 1 业务背景 随着大数据的快速发展,业务场景越来越复杂,离线式的批处理框架MapReduce已经不能满足业务,大量的场景需要实时的数据处理结果来...

个推
44分钟前
2
0
壮丽70年·奋斗新时代|蒸妙集团熏蒸中会阴熏蒸的神奇好处

聚结相合之处为会。会阴居两阴间,为督、任、冲三脉的起点,三脉背出两阴之间,会聚阴部,因名会阴。会阴,经穴名。出《针灸甲乙经》。会阴别名屏翳、下极、金门。属任脉。在会阴部,男性当阴...

公益传承
52分钟前
2
0
pentaho-kettle-8.2.0.0-R源码开发环境搭建

1.从Kettle官网下载源码,本文使用的是pentaho-kettle-8.2.0.0-R 下载地址:https://codeload.github.com/pentaho/pentaho-kettle/zip/8.2.0.0-R 2.打开eclipse,选择一个新的工作空间,然后设...

gq_2010
58分钟前
1
0
lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
5
0
通过四道常问面试题,带你了解什么是数据库分库分表

编者语:为了避免被误解为:「手里有把锤子,看什么都是钉子!」,说明一下不是什么业务都适合分布式数据库,更不是用了分布式数据库性能就一定能得到扩展。 其次:本文为纯干货,建议先转发...

老道士
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部