当前位置:首页 > 科技  > 软件

TaskAffinity属性对应用程序任务栈和启动行为的影响

来源: 责编: 时间:2024-05-17 09:02:17 231观看
导读TaskAffinity是Activity的一个属性,用于指定Activity所属的任务栈(Task Stack)。TaskAffinity可以翻译为“任务相关性”或“任务亲和性”,标识了一个Activity所需要的任务栈的名字。主要作用:指定任务栈的名称:TaskAffinit

TaskAffinity是Activity的一个属性,用于指定Activity所属的任务栈(Task Stack)。TaskAffinity可以翻译为“任务相关性”或“任务亲和性”,标识了一个Activity所需要的任务栈的名字。iR428资讯网——每日最新资讯28at.com

主要作用:iR428资讯网——每日最新资讯28at.com

  1. 指定任务栈的名称:TaskAffinity属性可以指定一个字符串,用于标识任务栈的名称。不同的Activity可以使用相同的任务栈名称来指定它们属于同一个任务栈,从而在同一个任务栈中进行活动切换。
  2. 控制Activity的启动行为:TaskAffinity属性还可以影响Activity的启动行为,对于实现特定的导航和界面流程非常有用。例如,当TaskAffinity和singleTask启动模式配对使用时,待启动的Activity会运行在名字和TaskAffinity相同的任务栈中。
  3. 实现Activity的迁移:TaskAffinity通常与allowTaskReparenting属性一起使用,用于实现把一个应用程序的Activity移到另一个应用程序的Task中。allowTaskReparenting属性用于配置是否允许Activity更换从属Task。

TaskAffinity属性的值必须是一个字符串,且中间必须含有包名分隔符“.”。如果一个Activity没有显式地指定TaskAffinity,那么TaskAffinity属性就等于Application指明的TaskAffinity;如果Application也没有指明,那么TaskAffinity的值就等于应用的包名。iR428资讯网——每日最新资讯28at.com

启动新的Task:iR428资讯网——每日最新资讯28at.com

Intent intent = new Intent(this,IntentTimeActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);startActivity(intent);

当AMS发现启动了一个FLAG_ACTIVITY_NEW_TASK标签的Activity时,会先去寻找当前是否存在这个Activity的task值,如果不存在的话,就会创建该task,如果存在就省去了创建 task这个步骤,然后在把要启动的Activity添加到task中。AMS分配的taskId是线性递增的,每次开启一个新的task,taskId进行+1的操作。iR428资讯网——每日最新资讯28at.com

「allowTaskReparenting」是Activity的一个属性,用于配置是否允许该Activity更换从属的任务(Task)。当一个Activity设置了allowTaskReparenting属性,并且值为true时,该Activity可以从其启动的任务(Task)移动到由taskAffinity属性指定的任务(Task)中。如果allowTaskReparenting的值为false(默认值),Activity将保持在其启动的任务(Task)中,并在那里耗尽其整个生命周期。iR428资讯网——每日最新资讯28at.com

<activity     android:name=".MainActivity"    android:allowTaskReparenting="true"/>

taskAffinity和allowTaskReparenting这两个属性会一起使用,实现将一个应用程序的Activity移动到另一个应用程序的任务(Task)中的功能。例如,当需要在多个应用程序之间共享某些Activity时。iR428资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88737-0.htmlTaskAffinity属性对应用程序任务栈和启动行为的影响

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 基于NodeJS从零构建自动化出码工作流

下一篇: React 中的国际化优秀实践

标签:
  • 热门焦点
  • 十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 2纳米决战2025

    集微网报道 从三强争霸到四雄逐鹿,2nm的厮杀声已然隐约传来。无论是老牌劲旅台积电、三星,还是誓言重回先进制程领先地位的英特尔,甚至初成立不久的新
  • 三星电子Q2营收60万亿韩元 存储业务营收同比仍下滑超过50%

    7月27日消息,据外媒报道,从三星电子所发布的财报来看,他们主要利润来源的存储芯片业务在今年二季度仍不乐观,营收同比仍在大幅下滑,所在的设备解决方案
  • 英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    据10 月 31 日消息报道,英特尔高级副总裁兼加速计算系统和图形事业部总经理 表示,Xe-HP“ Arctic Sound” 系列服务器 GPU 已经应用于 oneAPI devcloud 云服
  • 联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

    ThinkBook Plus 是联想的一个特殊笔记本类别,它在封面放入了一块墨水屏,也给人留下了较为深刻的印象。据有人爆料,联想的下一款 ThinkBook Plus 可能更特殊,它
  • 英特尔Xe HPG游戏显卡:拥有512EU,单风扇版本

    据10 月 30 日外媒 TheVerge 消息报道,英特尔 Xe HPG Arc Alchemist 的正面实被曝光,不仅拥有 512 EU 版显卡,还拥有 128EU 的单风扇版本。另外,这款显卡 PCB
  • 由于成本持续增加,笔记本产品价格预计将明显上涨

    根据知情人士透露,由于材料、物流等成本持续增加,笔记本产品价格预计将在2021年下半年有明显上涨。进入6月下旬以来,全球半导体芯片缺货情况加剧,显卡、处理器
Top