2019独角兽企业重金招聘Python工程师标准>>>

Activity有四种加载模式

standard: 标准(默认)模式

当通过这种模式来启动Activity时,总会为目标Activity创建一个新的实例,并将该Activity添加到当前Task栈中.注意,这种方式不会启动新的Task,只是将新的Activity添加到原有的Task

2 singleTop: Task顶单例模式

该模式和standard模式基本一致,但有一点不同:当将要被启动的Activity已经位于Task栈顶时,系统不会重新创建目标Activity实例,而是直接复用Task栈顶的Activity

3 singleTask: Task内单例模式

采用该加载模式时,Activity在同一个Task内只有一个实例.当系统采用singleTask模式加载Activity时,又分为以下三种情况:

(1)如果将要启动的Activity不存在,那么系统将会创建该实例,并将其加入Task栈顶

(2)如果将要启动的Activity已存在,且存在栈顶,那么此时与singleTop模式的行为相同

(3)如果将要启动的Activity存在但是没有位于栈顶,那么此时系统会把位于该Activity上面的所有其他Activity全部移出Task,从而使得该目标Activity位于栈顶

* 4 singleInstance: 全局单例模式

在此种加载模式下,无论从哪个Task中启动目标Activity,只会创建一个目标Activity实例且会用一个全新的Task栈来装载该Activity实例.当系统采用singleInstance模式加载Activity时,又分为以下两种情况:

(1)如果将要启动的Activity不存在,那么系统将会先创建一个全新的Task,再创建目标Activity实例并将该Activity实例放入此全新的Task中

(2)如果将要启动的Activity已存在,那么无论它位于哪个应用程序,哪个Task中;系统都会把该Activity所在的Task转到前台,从而使该Activity显示出来

Android对于Activity的管理方式

Android采用Task来管理多个Activity.

当启动一个APP时,Android就会为之创建一个Task然后启动这个应用的入口Activity.但是Android并没有为Task提供API,开发者无法真正地访问Task,只能调用Activity的getTaskId()方法来获取其所在的Task的ID.事实上,我们可以把Task理解成Activity栈,Task以栈的形式来管理Activity:将不断启动的Activity压入栈.即:先启动的Activity被放入栈底,后启动的Activity放在Task栈顶

转载于:https://my.oschina.net/u/731542/blog/367447

Activity启动模式详解相关推荐

  1. Android系统(187)---最易懂的Activity启动模式详解

    Android基础:最易懂的Activity启动模式详解 前言 Android基础中,Activity的启动模式非常重要 本文将全面介绍 Activity的启动模式 目录 目录 1. 定义 即Acti ...

  2. Android中Activity启动模式详解

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

  3. Android Activity 启动模式详解

    最近有群里的朋友问我 Activity的四种启动模式分别是什么意思? 当初因为项目比较忙,草草的解释了下, Api文档中说的也只是一般,在这里就小记一下吧,以便有更多的朋友对Activity启动模式了 ...

  4. Activity的启动模式详解

    Activity的启动模式详解 Activity有四种载入模式:standard(默认), singleTop, singleTask和 singleInstance. (1).standard(默认 ...

  5. And解roid中Activity启动模式详

    转自: http://www.cnblogs.com/fanchangfa/archive/2012/08/25/2657012.html And解roid中Activity启动模式详 在Androi ...

  6. Android Activity Launch Mode 启动模式详解

    简介 android:launchMode 属性能设置 Activity 对象启动时是否使用已有的实例还是多次创建,会使得交互设计更加良好,也能避免很多问题. 它是 Androidmanifest.x ...

  7. Android Activity的4种启动模式详解(示例)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5233269.html 先介绍下Android对Activity的管理,Android采用Task来管理多个A ...

  8. Activity的5种启动模式详解(新增singleInstancePerTask类型)

    前言 看到这个标题的时候,也许你会认为我写错了,Activity不是只有四种启动模式吗?分别为startard,singleTop,singleTask,singleInstance这四种. 一般来说 ...

  9. Activity生命周期及启动模式详解

    1.Activity生命周期 1.正常情况: (1) onCreate: 表示 Activty 正在被创建,这是 Activity 生命周期的第一个方法,可以做一些初始化的工作,比如:加载布局,绑定控 ...

最新文章

  1. 2016.4.2 动态规划练习--讲课整理
  2. 服务器ldap认证配置
  3. 微信小程序拼团后端接口设计规范
  4. inux 后台执行命令
  5. 抖音AI火了!以视频搜视频,不知小姐姐叫什么,也能搜出她的影像
  6. zabbix设置邮件报警
  7. mysql 客户端_技术分享 | MySQL 客户端连不上(1045 错误)原因全解析
  8. Element UI——数字输入框解决方案
  9. 1155: 零起点学算法62——输出矩阵
  10. yum install rpm包时报错
  11. 说说程序员应该知道的术语(中文+英文)
  12. 【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
  13. C#中,接口继承、基类继承中父类与基类的执行顺序
  14. java htmlelement_Java Element.outerHtml方法代码示例
  15. 最大公约数和最小公倍数
  16. python中3 and not 5_Python控制結構3.布林邏輯:and,or,not
  17. asp.net/c# 注册页实现激活邮箱验证
  18. 兴衰成败三百年:俄罗斯数学的光荣与梦想
  19. [转]科普 | 什么是宽表?
  20. 联想小娜怎么开启_联想小娜怎么唤醒

热门文章

  1. 美国服务机器人技术路线图
  2. 一文告诉你,NIPS 2017有多火爆 | 附PPT、视频、代码大总结
  3. GIF动图之父Stephen Wilhite去世,享年74岁
  4. 尴尬!因软件 Bug ,美国数百名囚犯释放后无法出狱
  5. 冒号课堂 编程范式与OOP思想
  6. ant-design-pro Login 中的 UserName 和 Password 的验证规则 rules
  7. Bzoj3530: [Sdoi2014]数数
  8. DRBD数据同步部署-centos7
  9. CIO无法忽视的三大云角色
  10. 系统高可用设计与实践