当前位置: 首页 > news >正文

Android开发:Activity启动模式

1.怎样设置Activity的启动模式

可以在清单文件中自己添加活动的启动模式, android : launchMode="standard", 不写的话系统默认就是标准模式.

2.启动模式

2.1.默认启动模式

标准启动模式就是栈, 打开一个活动就将活动压入栈中, 返回就将活动退出栈中.

 不同的Activity可以设置不同的启动模式

2.2.栈顶复用启动模式

当要创建的活动此时已经在栈顶了, 那就不会重新创建新的.

 

应用场景
适合开启渠道多、多应用开启调用的Activity,通过这种设置可以避免已经创建过的Activity被重复创建,多数通过动态设置使用。

2.3.栈内复用启动模式

如果要创建的活动栈内已经存在, 那么会将该活动之上的活动全部弹出, 这时要创建的活动就处于栈顶了, 显示在界面中.

应用场景
程序主界面:我们肯定不希望主界面被创建多次,而且在主界面退出的时候退出整个App是最好的效果。
耗费系统资源的Activity:对于那些及其耗费系统资源的Activity,我们可以考虑将其设为singleTask.模式,减少资源耗费。

2.4.全局唯一启动模式

全局唯一模式意味着活动单独的在一个栈中, 当跳转到别的活动Activity2(也是全局唯一模式)时, 会单独的给Activity2创建一个栈, 主活动就处于后台, 再次调用主活动时不会创建新的, 而是唤醒在后台的主活动. 全局唯一模式的活动只能同时存在一个. 

 

3.启动标志

3.1如果不想重复创建栈内已有的活动, 我们还可以给跳转的intent设置启动标志, intent.setFlags(Intent.FLAG_aCTIVITY_CLEAR_TOP)

3.2若果是软件的登录页面, 当我们登录成功后, 返回也不会回到登录界面而是直接退出.

想要达到这样的效果我们就需要设置启动标志FLAG_ACTIVITY_CLEAR_TASK, 登陆之后该标志会清理活动栈中所有的实例, 并且创建新任务的活动栈.

intent.setFlags (Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);

http://www.lryc.cn/news/12101.html

相关文章:

  • 01_Docker 简介
  • 一文精通MVCC机制
  • 商用ESP32协议采集器源码分享开篇
  • 代码随想录算法训练营第三十四天 | 860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球
  • DDR4介绍01
  • 扫地机器人行业投资逻辑:国内以价换量元年,海外需求企稳回升
  • (考研湖科大教书匠计算机网络)第四章网络层-第七节:IPv4数据报首部格式
  • 每天10个前端小知识 【Day 18】
  • 【Java集合类】ArrayList
  • 页面置换算法
  • 算法导论【在线算法】—The Ski-Rental Problem、The Lost Cow Problem、The Secretary Problem
  • linux 下怎样给pdf 文件加书签
  • [软件工程导论(第六版)]第2章 可行性研究(课后习题详解)
  • [软件工程导论(第六版)]第3章 需求分析(课后习题详解)
  • 基于分布鲁棒联合机会约束的能源和储备调度(Matlab代码实现)
  • ETL和数据建模
  • ccc-pytorch-回归问题(1)
  • 【JAVA八股文】框架相关
  • 二叉树的相关列题!!
  • Java设计模式 - 原型模式
  • 深度学习中的 “Hello World“
  • 购买WMS系统前,有搞清楚与ERP仓库模块的区别吗
  • 一文吃透 Spring 中的IOC和DI
  • 分布式任务处理:XXL-JOB分布式任务调度框架
  • 【源码解析】Ribbon和Feign实现不同服务不同的配置
  • 【webpack5】一些常见优化配置及原理介绍(二)
  • 力扣sql简单篇练习(十九)
  • 线段树c++
  • HTML+CSS+JavaScript学习笔记~ 从入门到精通!
  • LeetCode 430. 扁平化多级双向链表