前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android基础:最易懂的Activity启动模式详解

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

作者头像
Carson.Ho
发布2019-02-22 11:10:16
1.4K0
发布2019-02-22 11:10:16
举报
文章被收录于专栏:Android知识分享

前言

  • 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配置进行设置

代码语言:javascript
复制
<activity

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

6.2 通过Intent设置标志位

代码语言:javascript
复制
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的Activity启动模式进行了全面介绍
  • 接下来会介绍继续介绍Android开发中的相关基础知识,有兴趣可以继续关注Carson_Ho的安卓开发笔记
请帮顶 / 评论点赞!因为你们的赞同/鼓励是我写作的最大动力!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年01月22日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目录
  • 1. 定义
  • 2. 启动模式的类别
  • 3. 知识储备
  • 4. 具体介绍
  • 5. 四种启动模式的区别
  • 6. 启动模式的设置
    • 6.1 在AndroidMainifest设置
      • 6.2 通过Intent设置标志位
        • 6.3 二者设置的区别
        • 7. 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档