Android Activity启动模式

文章目录

  • Android Activity启动模式
    • 概述
    • 四种启动模式
    • Intent标记
    • 二者区别

Android Activity启动模式

概述

Activity 的管理方式是任务栈。栈是先进后出的结构。

四种启动模式

启动模式说明适用场景
standard
标准模式
默认模式,每次启动Activity都会创建一个新的Activity实例,并放在栈顶。相对独立的界面
singleTop
栈顶复用模式
如果新建的Activity在栈顶,则会复用该Activity实例,并回调onNewIntent()方法。用于接收通的界面
singleTask
栈内复用模式
如果新建的Activity在栈内,则会复用该Activity实例,并回调onNewIntent()方法,并清除它上方的实例。全局的界面,如主界面
singIeInstance
单例模式
创建一个新任务栈,将新建一个Activity实例并放入新栈中。单独隔离的界面,如地图界面

标准模式:

在这里插入图片描述

栈顶复用模式:

在这里插入图片描述

栈内复用模式:

在这里插入图片描述

单例模式:

在这里插入图片描述

在AndroidManifest中设置:

<activityandroid:launchMode="standard" />

Intent标记

标记说明
FLAG_ACTIVITY_NEW_TASK标准模式(standard)
FLAG_ACTIVITY_SINGLE_TOP栈顶复用模式(singleTop)
FLAG_ACTIVITY_CLEAR_TOP启动模式为standard时,栈中存在该Activity实例,则重新创建一个新实例,并清除原实例上方的所有实例;启动模式为singleTop时,不会重建Activity,会调用onNewIntent()方法,并清除上方的所有实例。
FLAG_ACTIVITY_CLEAR_TASK必须配合FLAG_ACTIVITY_NEW_TASK使用,如果任务栈存在,则清空任务栈重新创建Activity实例,如果任务栈不存在,则新建任务栈并创建Activity实例。

使用:

intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)

二者区别

  • 优先级不同:Intent标记的优先级高于Manifest设置。
  • 限定范围不同:Manifest不能设置FLAG_ACTIVITY_CLEAR_TOP,Intent无法设置singleInstance。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/495827.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF的DataGrid自动生成中文列头

直接将一个对象集合绑定到DataGrid上面&#xff0c;设置自动生成列AutoGenerateColumns"True"&#xff0c;DataGrid会自动根据对象类的属性生成对应的列 示例类对象&#xff1a; public class DataModel{public int Id { get; set; }public string Name { get; set;…

六、防御保护---防火墙内容安全篇

六、防御保护---防火墙内容安全篇 一、IAE&#xff08;Intelligent Awareness Engine&#xff09;引擎二、深度检测技术(DFI和DPI&#xff09;2.1 DPI -- 深度包检测技术2.1.1 基于“特征字”的检测技术2.1.2 基于应用网关的检测技术2.1.3 基于行为模式的检测技术 2.2 DFI -- 深…

基于时域有限差分法的FDTD的计算电磁学算法-YEE网格下的更新公式推导

基于时域有限差分法的FDTD的计算电磁学算法&#xff08;含Matlab代码&#xff09;-YEE网格下的更新公式推导 参考书籍&#xff1a;The finite-difference time-domain method for electromagnetics with MATLAB simulations&#xff08;国内翻译版本&#xff1a;MATLAB模拟的电…

小程序框架(概念、工作原理、发展及应用)

引言 移动应用的普及使得用户对于轻量级、即时可用的应用程序需求越来越迫切。在这个背景下&#xff0c;小程序应运而生&#xff0c;成为一种无需下载安装、即点即用的应用形式&#xff0c;为用户提供了更便捷的体验。小程序的快速发展离不开强大的开发支持&#xff0c;而小程…

SpringMVC 学习(十)之异常处理

目录 1 异常处理介绍 2 通过 SimpleMappingExceptionResolver 实现 3 通过接口 HandlerExceptionResolver 实现 4 通过 ExceptionHandler 注解实现&#xff08;推荐&#xff09; 1 异常处理介绍 在 SpringMVC中&#xff0c;异常处理器&#xff08;Exceptio…

QT摄像头采集

主界面为显示框&#xff0c;两个下拉框&#xff0c;一个是所有相机&#xff0c;一个是相机支持的分辨率 系统根据UI界面自动生成的部分不再描述&#xff0c;以下为其他部分源码 widget.h #include <QWidget> #include <QMouseEvent> class QCamera; class QCamer…

电脑上不了网怎么办 无法上网及右下角网路出现感叹号的解决方法

网络故障(network failure)是指由于硬件的问题、软件的漏洞、病毒的侵入等引起网络无法提供正常服务或降低服务质量的状态。随着生活水平的提高,电脑逐渐普遍,经常上网的同学难免遇到上网故障,下面小编总结一下常见的网络故障 网络故障(network failure)是指由于硬件的问题、…

postman访问k8s api

第一种方式&#xff1a; kubectl -n kubesphere-system get sa kubesphere -oyaml apiVersion: v1 kind: ServiceAccount metadata:annotations:meta.helm.sh/release-name: ks-coremeta.helm.sh/release-namespace: kubesphere-systemcreationTimestamp: "2023-07-24T07…

自然语言处理: 第十三章Xinference部署

项目地址: Xorbitsai/inference 理论基础 正如同Xorbits Inference&#xff08;Xinference&#xff09;官网介绍是一个性能强大且功能全面的分布式推理框架。可用于大语言模型&#xff08;LLM&#xff09;&#xff0c;语音识别模型&#xff0c;多模态模型等各种模型的推理。通…

UE5 UE4 自定义插件自动开启关联插件(plugin enable)

在我们自己编写UE4、UE5的插件时&#xff0c;常常需要开启相关联的插件进行功能编写。 例如&#xff1a;UE4/5 批量进行贴图Texture压缩、修改饱和度_ue4批量修改纹理大小-CSDN博客 而让插件使用者每次使用时&#xff0c;依次进行开启其他相关联插件确实有些麻烦。 如何只需要…

多线程 --- 信号量

目录 1. POSIX信号量 1.1. 信号量的接口介绍&#xff1a; 1.1.1. sem_init (初始化信号量) 1.1.2. sem_destroy (销毁信号量) 1.1.3. sem_wait (等待信号量) P操作 1.1.4. sem_post (发布信号量) V操作 1.2. 信号量的理解&#xff1a; 1.3. 信号量demo 1.3.1. 单生产单…

广和通发布基于MediaTek T300平台的RedCap模组FM330系列及解决方案

世界移动通信大会MWC 2024期间&#xff0c;广和通发布基于MediaTek T300平台的RedCap模组FM330系列&#xff0c;加速5G-A繁荣发展。FM330系列及其解决方案采用全球先进RedCap方案&#xff0c;满足移动宽带和工业互联对高能效的需求。 广和通FM330系列采用全球首款6nm制程且集成…