前提:Android的activity存储于一个Activity Task中,加载模式决定打开一个Activity时是否需要重新创建Activity。一般情况,早来的Activity先入栈,在栈底,之后的往上叠加。

  • standardmode
    该模式只会创建一个task,而且每次进入Activity时,都会重新创建一个Activity实例,不管栈中是否存在。

  • singleTop
    该模式只会创建一个task,当进入新的activity时,判断当前需要进入的activity在栈顶是否存在,如果已经存在,则不创建新的activity实例,否则还需要创建。

  • singleTask
    先只考虑一个task,当进入新的activity时,进行如下判断
    A:需要进入的Activity在栈顶,则使用栈顶的Activity实例,不重新创建。
    B:需要进入的Activity位于栈顶以下,将该Activity上面的Activity实例移除task,使用原来在栈中的Activity实例
    C:栈中没有Activity实例,创建之,放于栈顶
    如果假设任务栈task1中的情况为ABC三个Activity,此时Activity D以singletask模式请求启动,目标task是task2,那么,会先创建task2,再将D入栈到task2

  • singleInstance
    该模式会创建多个Task,每个Task只存放一个Activity,当进入Activity时,判断所有Task是否已经有该Activity,如果已经存在,则将该Activity所在的task调至前台显示,否则,创建新的task,将Activity放到栈顶。

更新:
看到篇好的文章:
http://blog.csdn.net/shinay/article/details/7898492/

Android Activity的4大启动模式(launchmode)相关推荐

  1. Android Activity:四种启动模式,Intent Flags和任务栈(转自他人博客)

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.那各个页面跳转关系如何决定呢?如果启动了顺序启动了ABCD的Activiy,如何从D调回 ...

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

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

  3. Android零基础入门第77节:Activity任务栈和启动模式

    2019独角兽企业重金招聘Python工程师标准>>> 通过前面的学习,Activity的基本使用都已掌握,接下来一起来学习更高级的一些内容. Android采用任务栈(Task)的 ...

  4. Android之Activity的四种启动模式

    当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中.可以根据实际的需求为Activity设置对应的启动模式,从而可以避免创建大量重复的Activit ...

  5. Activity的4种启动模式

    2019独角兽企业重金招聘Python工程师标准>>> Activity共有四种启动模式,standard/singleTop/singleTask/singleInstance 在 ...

  6. 【Android 应用开发】Android 返回堆栈管理 ( 默认启动模式 | 栈顶复用启动模式 | 栈内复用启动模式 | 单实例启动模式 | CLEAR_TOP 标识 )

    文章目录 I . 默认启动模式 ( standard ) II . 栈顶复用启动模式 ( singleTop ) III . 栈内复用启动模式 ( singleTask ) IV . 单实例启动模式 ...

  7. Activity的四种启动模式和onNewIntent()

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

  8. 安卓学习笔记06:Activity生命周期与启动模式

    文章目录 零.学习目标 一.Activity生命周期 1.了解Activity生命周期 2.Activity生命周期简化图 (1)Activity存在与否 (2)Activity可见与否 (3)Act ...

  9. android学习笔记---34_Activity的启动模式

    2013-04-04 ------------- 34_Activity的启动模式 --------------------------------------------------------- ...

最新文章

  1. vim+快捷键+常用+命令
  2. 【CentOS 7MySQL常用操作2】,连接MySQL#180112
  3. svchost.exe介绍
  4. 1900美元,你想要机器女朋友,还是想要女朋友?
  5. facebook 邀请好友_如何查看紧急情况下您的Facebook朋友是否安全
  6. 漫步数学分析二十九——幂级数
  7. 交换机千兆和百兆对网速影响_电信宽带升级为200M,为什么网速没有提升多少?...
  8. Ubuntu下RamDisk使用
  9. 用程序去掉文件和文件夹的只读属性
  10. 1.shell脚本编程——基础篇(一)
  11. 全球顶级的5个数据可视化案例
  12. hexo+next主题优化之加入网易云音乐、网易云跟帖、炫酷动态背景
  13. ElasticSearch实战系列二: ElasticSearch的DSL语句使用教程---图文详解
  14. linux系统下部署python自动化程序并配置Jenkins定时执行
  15. 浅谈Spring事件监听
  16. 石像鬼 openwrt chinadns dns-forwarder 开机无法自动启动
  17. 往MYSQL中插入,读写图片!
  18. javascript特效3月12日软件速递:Mozilla Firefox发布
  19. iOS开发之录屏时如何使系统录不到敏感信息
  20. 3GPP TS 23501-g51 中英文对照 | 4.2.5a Radio Capabilities Signalling optimisation

热门文章

  1. python和pycharm要安装在同一个路径下吗_无法在pyCharm中导入与Anaconda一起安装的文件:需要将Anaconda添加到Python路径吗?...
  2. 缺少编译器要求的成员“System.Runtime.CompilerServices.ExtensionAttribute..ctor” 解决方案...
  3. Tomcat系列(6)——Tomcat处理一个HTTP请求的过程
  4. [Swift通天遁地]一、超级工具-(13)使用PKHUD制作各种动态提示窗口
  5. Python学习之web框架 Flask
  6. Android 开发笔记___Activity的生命周期
  7. STM32CubeMX软件工程描述_USART配置过程
  8. 《JAVA与模式》之观察者模式
  9. 读《大道至简》第四章有感
  10. Lucene于搜索引擎技术(Analysis包详解)