日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

TaskAffinity屬性對(duì)應(yīng)用程序任務(wù)棧和啟動(dòng)行為的影響

來(lái)源: 責(zé)編: 時(shí)間:2024-05-17 09:02:17 182觀看
導(dǎo)讀TaskAffinity是Activity的一個(gè)屬性,用于指定Activity所屬的任務(wù)棧(Task Stack)。TaskAffinity可以翻譯為“任務(wù)相關(guān)性”或“任務(wù)親和性”,標(biāo)識(shí)了一個(gè)Activity所需要的任務(wù)棧的名字。主要作用:指定任務(wù)棧的名稱(chēng):TaskAffinit

TaskAffinity是Activity的一個(gè)屬性,用于指定Activity所屬的任務(wù)棧(Task Stack)。TaskAffinity可以翻譯為“任務(wù)相關(guān)性”或“任務(wù)親和性”,標(biāo)識(shí)了一個(gè)Activity所需要的任務(wù)棧的名字。0so28資訊網(wǎng)——每日最新資訊28at.com

主要作用:0so28資訊網(wǎng)——每日最新資訊28at.com

  1. 指定任務(wù)棧的名稱(chēng):TaskAffinity屬性可以指定一個(gè)字符串,用于標(biāo)識(shí)任務(wù)棧的名稱(chēng)。不同的Activity可以使用相同的任務(wù)棧名稱(chēng)來(lái)指定它們屬于同一個(gè)任務(wù)棧,從而在同一個(gè)任務(wù)棧中進(jìn)行活動(dòng)切換。
  2. 控制Activity的啟動(dòng)行為:TaskAffinity屬性還可以影響Activity的啟動(dòng)行為,對(duì)于實(shí)現(xiàn)特定的導(dǎo)航和界面流程非常有用。例如,當(dāng)TaskAffinity和singleTask啟動(dòng)模式配對(duì)使用時(shí),待啟動(dòng)的Activity會(huì)運(yùn)行在名字和TaskAffinity相同的任務(wù)棧中。
  3. 實(shí)現(xiàn)Activity的遷移:TaskAffinity通常與allowTaskReparenting屬性一起使用,用于實(shí)現(xiàn)把一個(gè)應(yīng)用程序的Activity移到另一個(gè)應(yīng)用程序的Task中。allowTaskReparenting屬性用于配置是否允許Activity更換從屬Task。

TaskAffinity屬性的值必須是一個(gè)字符串,且中間必須含有包名分隔符“.”。如果一個(gè)Activity沒(méi)有顯式地指定TaskAffinity,那么TaskAffinity屬性就等于Application指明的TaskAffinity;如果Application也沒(méi)有指明,那么TaskAffinity的值就等于應(yīng)用的包名。0so28資訊網(wǎng)——每日最新資訊28at.com

啟動(dòng)新的Task:0so28資訊網(wǎng)——每日最新資訊28at.com

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

當(dāng)AMS發(fā)現(xiàn)啟動(dòng)了一個(gè)FLAG_ACTIVITY_NEW_TASK標(biāo)簽的Activity時(shí),會(huì)先去尋找當(dāng)前是否存在這個(gè)Activity的task值,如果不存在的話(huà),就會(huì)創(chuàng)建該task,如果存在就省去了創(chuàng)建 task這個(gè)步驟,然后在把要啟動(dòng)的Activity添加到task中。AMS分配的taskId是線(xiàn)性遞增的,每次開(kāi)啟一個(gè)新的task,taskId進(jìn)行+1的操作。0so28資訊網(wǎng)——每日最新資訊28at.com

「allowTaskReparenting」是Activity的一個(gè)屬性,用于配置是否允許該Activity更換從屬的任務(wù)(Task)。當(dāng)一個(gè)Activity設(shè)置了allowTaskReparenting屬性,并且值為true時(shí),該Activity可以從其啟動(dòng)的任務(wù)(Task)移動(dòng)到由taskAffinity屬性指定的任務(wù)(Task)中。如果allowTaskReparenting的值為false(默認(rèn)值),Activity將保持在其啟動(dòng)的任務(wù)(Task)中,并在那里耗盡其整個(gè)生命周期。0so28資訊網(wǎng)——每日最新資訊28at.com

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

taskAffinity和allowTaskReparenting這兩個(gè)屬性會(huì)一起使用,實(shí)現(xiàn)將一個(gè)應(yīng)用程序的Activity移動(dòng)到另一個(gè)應(yīng)用程序的任務(wù)(Task)中的功能。例如,當(dāng)需要在多個(gè)應(yīng)用程序之間共享某些Activity時(shí)。0so28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-88737-0.htmlTaskAffinity屬性對(duì)應(yīng)用程序任務(wù)棧和啟動(dòng)行為的影響

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 基于NodeJS從零構(gòu)建自動(dòng)化出碼工作流

下一篇: React 中的國(guó)際化優(yōu)秀實(shí)踐

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 主站蜘蛛池模板: 洮南市| 朝阳区| 蒙阴县| 舞钢市| 滁州市| 华蓥市| 三穗县| 宁强县| 道孚县| 那坡县| 大田县| 临夏县| 伊川县| 周至县| 嘉兴市| 丹凤县| 靖远县| 漳浦县| 淮滨县| 甘谷县| 西贡区| 乌苏市| 大城县| 肥乡县| 汉沽区| 横山县| 新津县| 浠水县| 灵川县| 新丰县| 新昌县| 平湖市| 军事| 洛川县| 卫辉市| 湖州市| 璧山县| 什邡市| 嘉义县| 集贤县| 汶川县|