Android基础:最易懂的Activity启动模式详解


前言

  • Android基础中,Activity的启动模式非常重要
  • 本文将全面介绍 Activity的启动模式

目录

目录


1. 定义

即Activity启动的方式


2. 启动模式的类别

Android启动提供了四种启动方式:

  • 标准模式(Standard
  • 栈顶复用模式(SingleTop
  • 栈内复用模式(SingleTask
  • 单例模式(SingleInstance

3. 知识储备

  • Activity的管理方式 = 任务栈
  • 任务栈 采用的结构 = “后进先出” 的栈结构
  • 每按一次Back键,就有一个Activity出栈
示意图


4. 具体介绍

  • 如下图
示意图

  • 通俗讲解

    图解


5. 四种启动模式的区别

示意图


6. 启动模式的设置

启动模式有2种设置方式:在AndroidMainifest设置、通过Intent设置标志位

6.1 在AndroidMainifest设置

AndroidMainifestActivity配置进行设置

<activityandroid:launchMode="启动模式"
//属性
//standard:标准模式
//singleTop:栈顶复用模式
//singleTask:栈内复用模式
//singleInstance:单例模式
//如不设置,Activity的启动模式默认为**标准模式(standard)**
</activity>

6.2 通过Intent设置标志位

Intent inten = new Intent (ActivityA.this,ActivityB.class);
intent,addFlags(Intent,FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

标记位属性

标记位属性 含义
FLAG_ACTIVITY_SINGLE_TOP 指定启动模式为栈顶复用模式(SingleTop
FLAG_ACTIVITY_NEW_TASK 指定启动模式为栈内复用模式(SingleTask
FLAG_ACTIVITY_CLEAR_TOP 所有位于其上层的Activity都要移除,SingleTask模式默认具有此标记效果
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS 具有该标记的Activity不会出现在历史Activity的列表中,即无法通过历史列表回到该Activity上

6.3 二者设置的区别

  • 优先级不同
    Intent设置方式的优先级 > Manifest设置方式,即 以前者为准
  • 限定范围不同
    Manifest设置方式无法设定 FLAG_ACTIVITY_CLEAR_TOPIntent设置方式 无法设置单例模式(SingleInstance

7. 总结

  • 本文全面介绍了 Android的4种 Activity启动模式

原文:https://www.jianshu.com/p/399e83d02e33

Android系统(187)---最易懂的Activity启动模式详解相关推荐

  1. Android中Activity启动模式详解

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

  2. Android Activity 启动模式详解

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

  3. Activity启动模式详解

    2019独角兽企业重金招聘Python工程师标准>>> Activity有四种加载模式 standard: 标准(默认)模式 当通过这种模式来启动Activity时,总会为目标Act ...

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

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

  5. Activity的启动模式详解

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

  6. Android M新特性Doze and App Standby模式详解

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52312122 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

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

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

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

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

  9. Android FrameWork——Activity启动过程详解

    前面发了blog分析了ActivityManager框架的大体结构,主要就是一个进程通信机制,今天我通过深入Activity的启动过程再次深入到ActivityManager框架,对其进行一个更深入的 ...

最新文章

  1. Web 2.0技术对SEO的影响
  2. 探访2019世界人工智能大会:AI应让人类生活得更幸福
  3. 按功能顺序列出的 HTML 4.01/XHTML 1.0
  4. [:zh]<机械课程设计>第三张表自动计算部分 Android安装包[:]2017-12-20
  5. 条件 推导 迭代 并行
  6. (pytorch-深度学习系列)模型参数的初始化与访问操作-学习笔记
  7. Mysql中循环拼接参数_利用循环向数据库中插入数据,参数重复的问题
  8. python批量音频转格式_ffmpeg 转为16K PCM格式,python生成批量转码脚本
  9. 网线连接威纶触摸屏失败的解决方法
  10. 使用ffmpeg进行音频采样率转换
  11. 拼多多砍价用户福利贴:通过python模拟操作进行拼多多砍价
  12. 2022网鼎杯青龙组wp
  13. 像素和分辨率的关系 完全剖析
  14. 什么是mysql节点_什么是MySQL集群
  15. 第四章 JavaWeb CSS入门 核心基础 基础形式 + 选择器
  16. Sandboxie沙盘,代码开源可下载!
  17. 双(三氟甲基磺酰基)酰亚胺钠 cas91742-21-1白色-类白色晶体-粉末 分子量:303.1358892
  18. 正交化(Orthogonalization)
  19. android xutils 注解,android Xutils dbutils 注解
  20. CPU使用率低 内存使用率高

热门文章

  1. 从Nand Flash启动U-BOOT的基本原理
  2. [计算机网络] - IP基础知识
  3. SVD 与 PCA 的直观解释(1): 线性变换
  4. SpringSecurity的认识和整合流程
  5. 服务端设置忽略更新_react服务端渲染: cookie如何透传给后端,后端如何设置cookie...
  6. 抢红包概率是随机的吗_顺丰发5亿红包给员工:管理学的随机奖励还能这么玩...
  7. 四则运算编程题第二版
  8. python 日志模块 日志格式
  9. Quartz.NET开源作业调度框架系列(二):CronTrigger-转
  10. iOS-关于iOS开发架构的搭建