android-activity之默认启动模式和FLAG_ACTIVITY_NEW_TASK

Activity的四种启动模式 Activity的启动模式可在项目的配置文件内进行设置 standard:标准模式下每次启动的Activity都会新建,切放到Task任务栈的栈顶,通过点击返回关闭应用的话,就需要返回Activity的新建次数 singleTop:相较于standard模式,singleTop模式下,当新建Activity时,首先会确定该Activity是否在该Task的顶部。如果不在的话才会新建 singleTask: 相较于singleTop模式,singleTask模式下,新建Activity时首先会判断其是否 阅读详情
测试应用主activityA使用默认启动模式
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #5:
    Task id #27
    * TaskRecord{4f29769 #27 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{a0bc5f0 u0 com.wp.launchmode/.ActivityA t27}

  Stack #0:




打开activityB,添加flag----FLAG_ACTIVITY_NEW_TASK
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #5:
    Task id #28
    * TaskRecord{a1743d1 #28 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{2ef42f8 u0 com.wp.launchmode/.ActivityB t28}
    Task id #27
    * TaskRecord{4f29769 #27 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{a0bc5f0 u0 com.wp.launchmode/.ActivityA t27}

  Stack #0:



打开activityC
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #5:
    Task id #28
    * TaskRecord{a1743d1 #28 A=com.wp.launchmode U=0 sz=2}
      * Hist #1: ActivityRecord{1aa9a57 u0 com.wp.launchmode/.ActivityC t28}
      * Hist #0: ActivityRecord{2ef42f8 u0 com.wp.launchmode/.ActivityB t28}
    Task id #27
    * TaskRecord{4f29769 #27 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{a0bc5f0 u0 com.wp.launchmode/.ActivityA t27}

  Stack #0:




打开activityD
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #5:
    Task id #28
    * TaskRecord{a1743d1 #28 A=com.wp.launchmode U=0 sz=3}
      * Hist #2: ActivityRecord{8581614 u0 com.wp.launchmode/.ActivityD t28}
      * Hist #1: ActivityRecord{1aa9a57 u0 com.wp.launchmode/.ActivityC t28}
      * Hist #0: ActivityRecord{2ef42f8 u0 com.wp.launchmode/.ActivityB t28}
    Task id #27
    * TaskRecord{4f29769 #27 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{a0bc5f0 u0 com.wp.launchmode/.ActivityA t27}

  Stack #0:



打开activityA
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #5:
    Task id #27
    * TaskRecord{4f29769 #27 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{a0bc5f0 u0 com.wp.launchmode/.ActivityA t27}
    Task id #28
    * TaskRecord{a1743d1 #28 A=com.wp.launchmode U=0 sz=3}
      * Hist #2: ActivityRecord{8581614 u0 com.wp.launchmode/.ActivityD t28}
      * Hist #1: ActivityRecord{1aa9a57 u0 com.wp.launchmode/.ActivityC t28}
      * Hist #0: ActivityRecord{2ef42f8 u0 com.wp.launchmode/.ActivityB t28}

  Stack #0:



打开activityB,C,D
ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #5:
    Task id #28
    * TaskRecord{a1743d1 #28 A=com.wp.launchmode U=0 sz=3}
      * Hist #2: ActivityRecord{8581614 u0 com.wp.launchmode/.ActivityD t28}
      * Hist #1: ActivityRecord{1aa9a57 u0 com.wp.launchmode/.ActivityC t28}
      * Hist #0: ActivityRecord{2ef42f8 u0 com.wp.launchmode/.ActivityB t28}
    Task id #27
    * TaskRecord{4f29769 #27 A=com.wp.launchmode U=0 sz=1}
      * Hist #0: ActivityRecord{a0bc5f0 u0 com.wp.launchmode/.ActivityA t27}

  Stack #0:

android Activity的Task Affinity lanchMode 文章会持续更新的。绝对干货!!!Android进阶学习全套手册关于实战,我想每一个做开发的都有话要说,对于小白而言,缺乏实战经验是通病,那么除了在实际工作过程当中,我们如何去更了解实战方面的内容呢?实际上,我们很有必要去看一些实战相关的电子书。 阅读详情

相关推荐

常用的串口通信工具MobaXterm、Bus Hound、SScom等

本文介绍了四种PC端串口通信工具的功能和使用方法:MobaXterm支持SSH、FTP、串口等多种协议;Bus Hound用于监控CAN和串口数据;SScom专为串口和网口通信设计;ScriptCommunicator可进行串口通信并绘制波形图。每种工具都有详细的操作步骤图示,包括参数设置、数据监控等关键功能,并提供了官方和个人下载地址。这些工具各有特点,适用于不同的串口通信和数据分析场景。

sanqima的专栏 2483

Android Activity.FLAG.ACTIVITY_NEW_TASK是什么

activity启动目标activity时,有无该标志没有任何影响非activity启动目标activity时,必须添加该标志告诉系统新开任务栈并将新建activity放入其中。

ganshenml的专栏 4934

[Ethernet in CANoe]4--CANoe工程中SOME/IP报文的详细介绍(二)

介绍了SOME/IP报文的SD报文(ServiceDiscovery),本片文章开始继续介绍SOME/IP报文。

汽车ECU自动化测试 1111

Android Intent.FLAG_ACTIVITY_NEW_TASK的个人理解

一 首先分四部曲简单做一下说明 1.What(是什么):Intent类中的一个静态标志属性 2.Why(为什么要使用):在特殊情况下,如果不加这个标志,会报错(下文详细说明) 3.When(什么时候使用):当调用startActivity启动一个Activity时 4.How(如何使用) 总结: 首先分四部曲简单做一下说明 What(是什么):Intent类中的一个静态标志属性 public static final int FLAG_ACTIVITY_NEW_TASK = 0x10000000; Why

qq_39431405的博客 4203

SpringBoot使用mybatis-plus的自动代码生成器

一.SpringBoot使用mybatis-plus+自动代码生成 使用mybatis-plus可以自动帮我们生成通用的 controller,service,dao,mapper 二.加入依赖 <!-- MP 核心库 --> <dependency> <groupId>com.baomidou</groupId> <artif...

农民娃儿的博客 2261

ECMWF等大气数据批量下载(Python API)详细步骤

ECMWF等大气数据批量下载(Python API) 遥感方向做热红外温度反演,不可避免的要用到大气廓线数据,大气数据具有实时性,比如2018年9月1日的早上8点的影像,为了提高反演精度就需要用到时间上与其相差尽可能接近的大气数据,用于消除大气的影响,如果数据量较少我们可以查看影像的时间和空间范围进行下载,但是如果处理某个较大区域时可能涉及到大量的影像,如果一景一景对应查找去下载会很麻烦,因此针对大量数据的自动批量下载很有必要。本文根据 https://cds.climate.copernicus.eu/#

liuxiaojiangtobeno1的博客 1万+

Activity的四种启动模式和相关的Intent flag

一、启动模式 1、 standard模式。 默认模式,可以不用写配置。在这个模式下,都会默认创建一个新的实例。因此,在这种模式下,可以有多个相同的实例,也允许多个相同Activity叠加。应用场景:绝大多数Activity。 2、singleTop模式 栈顶复用模式,如果要开启的activity在任务栈的顶部已经存在,就不会创建新的实例,而是调用 onNewIntent() 方法来将 intent 转送给该实例,避免栈顶的activity被重复的创建。 s...

u010867436的专栏 2495

如何使用Ray和PyTorch训练模型

用户编写训练函数 → 定义单机训练逻辑。通过扩缩容配置 → 指定需要多少资源(Worker 数量、CPU/GPU)。训练器整合训练函数和配置 → 自动将训练函数分发到多个 Worker 上并行执行。Worker 运行训练函数 → 在分布式环境中完成模型训练。通过这种模式,Ray Train 实现了对分布式训练的抽象,用户只需关注单机训练逻辑,无需手动管理分布式通信和资源分配。

m0_62464865的博客 1922

Android Intent.FLAG_NEW_TASK详解,包括其他的标记的一些解释

本文大部分参考自http://blog.youkuaiyun.com/mayingcai1987/article/details/6200909,对原文中的讲解FLAG_NEW_TASK地方加了一些自己的观点,用红色标记 1. Task是包含一系列Activity的堆栈, 遵循先进后出原则. 2. Task默认行为: (1)前提: Activity A和Activity B在同一个应用...

weixin_30312659的博客 597

气体放电管GDT选型解析

气体放电管(GDT)是电子设备电磁兼容设计中应对浪涌防护的核心器件,具有高能量吸收能力(10kA以上)和低漏电流特性。其工作原理分为击穿、导通和熄弧三阶段,通过电离气体泄放浪涌能量。GDT适用于雷击等大能量防护,但响应较慢(0.1-0.3μs),需搭配TVS/MOV组成多级防护。选型需匹配击穿电压(如220VAC系统选800V型号),并注意续流风险。典型应用包括电源端口、通信防雷模块的三极管共模防护或GDT-MOV串联方案,实现能量分流与快速钳位平衡。

硬核科技 208

YOLO26 网络结构逐模块解析:Backbone/Neck/Head

本文解析了YOLO26目标检测网络的架构设计,重点介绍其在Backbone、Neck和Head三个核心组件的创新优化。Backbone采用改进的CSP模块与轻量级注意力机制,提升特征提取效率;Neck使用改进的BiFPN结构实现高效多尺度特征融合;Head采用完全解耦设计简化回归流程。文章详细分析了各模块的技术演进、实现细节和设计思想,通过流程图和代码示例展示了YOLO26的整体架构和关键组件实现。该研究对模型优化、定制开发和硬件部署具有重要指导意义。

一键难忘的博客 1241

Activity启动模式

这是一种单例模式,此模式下,只要栈中存在此Activity,那么多次启动此Activity都不会重复创建新实例,和singleTop一样,系统会回调其onNewIntent。当启动一个Activity后,系统首先会寻找栈中是否存在该Activity,存在,则把Activity调到栈顶,并回调onNewIntent方法。当Activity启动后,系统为其创建一个新的任务栈,然后Activity单独存在这个任务栈中,由于栈内复用的特性,后续请求均不会创建新的Activity,除非此任务栈被系统销毁。

Ueming的博客 2025

微信小程序 - 最新获取用户昵称 / 头像(wx.getUserProfile 接口被废弃后的代替方案)详细教程,2022 年之后的所有微信小程序,获取用户信息最新详细教程,附带示例源代码

微信小程序wx.getUserProfile接口废了用什么代替,微信小程序wx.getUserProfile不能用了怎么办,wx.getUserProfile失效有什么替代方案吗,微信新规定头像昵称填写最新教程,目前微信小程序最新获取用户头像昵称教程,微信小程序用户头像昵称获取规则调整公告,2022改版后的微信小程序如何获取用户头像和昵称信息,微信小程序官方废弃getUserProfile后如何实现获取用户信息,微信小程序wx.getUserProfile接口返回了默认头像昵称,微信小程序获取用户信息不

🏆 前端领域优质创作者 2万+

Android task和back stack详解四:intent中定义启动模式

接上文,关于后退栈,先举个例子: Android浏览器应用声明网页浏览activity必须在它自己的任务中打开—通过在<activity>元素中指定singleTask启动模式.这表示如果你的应用发出一个intent来打开Android浏览器,它的activity不会放...

chenqunan3231的博客 105

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Android - singleTask启动模式详解

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

m0_61549984的博客 1526

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

[置顶] Activity Stack

密码管理请下载: http://a.app.qq.com/o/simple.jsp?pkgname=com.wa505.kf.epassword   1. 默认启动模式:  不考虑task 2.singleTop: 如果在task顶,则不启动。 3.singleTask: 只属于一个task。如果对对应task存在,则直接启动到对应的task中,不会启动新的task作为root。并且,若

daojin505的专栏 295

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

activty在哪个栈里面_Activity任务和返回栈机制(activity之间的启动)

android系统任务管理和返回栈的方式是后进先出的方式,就是把所有的activity放入到一个相同的任务当中,通过一个后进先出的一个任务栈管理,这样的方式在大多数的情况下是没有问题的。开发者也无需关心任务栈中的activity是如何保存在返回栈中的。如果你想打破这种默认的行为,比如启动一个新的activity时,你希望它可以存在一个独立的任务栈中,而不是现有的任务中,或者说,当启动一个activ...

weixin_31832681的博客 219

android Activity 堆栈和亲属关系

在android中,一个activity组件可以激活另一个activity组件(可能属于另一个应用程序)。    若新的被激活的activity组件属于另一个应用程序,则那个activity组件会运行在那个应用程序的进程中,但是从用户的角度来看,好像就是属于本

hellolinshoujie的专栏 7852

Android - singleTask启动模式详解(1)

简历首选内推方式,速度快,效率高啊!然后可以在拉钩,boss,脉脉,大街上看看。简历上写道熟悉什么技术就一定要去熟悉它,不然被问到不会很尴尬!做过什么项目,即使项目体量不大,但也一定要熟悉实现原理!不是你负责的部分,也可以看看同事是怎么实现的,换你来做你会怎么做?做过什么,会什么是广度问题,取决于项目内容。但做过什么,达到怎样一个境界,这是深度问题,和个人学习能力和解决问题的态度有关了。大公司看深度,小公司看广度。大公司面试你会的,小公司面试他们用到的你会不会,也就是岗位匹配度。

2401_84132423的博客 749

Task和activity的lauchMode

一、Task详解 二、taskAffinity  三、Acti

u010832572的专栏 639

Activity 的启动模式

Android 是通过任务栈进行 Activity 的管理的,栈是一种先进后出的数据结构,窗口显示的 Activity 是处于栈顶的 Activity,只有栈顶的 Activity 是可见的,当我们进入一个新的 Activity,这个 Activity 便会进入栈中并处于栈顶,当我们通过 back 键退出这个Activity,它便会出栈。 任务栈并不是唯一的,一般情况下(standard 模式),Activity 会进入启动它的那个 Activity 所在的栈中。 Activity 的启动模式 Activi

陈宇一的博客 218

Activity Stack

密码管理请下载: http://a.app.qq.com/o/simple.jsp?pkgname=com.wa505.kf.epassword   1. 默认启动模式:  不考虑task 2.singleTop: 如果在task顶,则不启动。 3.singleTask: 只属于一个task。如果对对应task存在,则直接启动到对应的task中,不会启动新的task作为root。并且...

daojin505的专栏 185

为什么有时候启动Activity需要加FLAG_ACTIVITY_NEW_TASK

我们通过广播来启动Activity的时候如果不设置intent的FLAG_ACTIVITY_NEW_TASK属性,就会报这个异常

Edward的专栏 4万+

【Android 12】Activity启动模式

本文结合demo App和手机的实际情况(dumpsys activity containers),分析一下Activity的启动模式。

ukynho的博客 1万+

Android面试题之Activity的启动模式和flag

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点。

AntDream的程序世界 1013

Activity的任务栈Task以及启动模式与Intent的Flag详解(经典博文,值得收藏!)

启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置启动模式有4种,分别为standard、singleTop、singleTask、singleInstance;并不是一定会在新的任务栈中打开.(具体要根据taskAffinity(班级名称)看系统(学校)中是否已经有这个任务栈(班级)了).如果需要在新的任务栈中启动,就需要为activity设置独立的taskAffinity.

2401_84149896的博客 2032
上一篇: android-activity之启动模式singleInstance
下一篇: android-activity之singleTask启动模式
wangpanbaoding
博客等级 码龄18年 42粉丝 122原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值