随笔 - 129,  文章 - 3,  评论 - 50,  阅读 - 15万

standard(标准模式)

默认启动模式,每次将创建一个新的实例。

singleTop(栈顶复用)

如果该活动处于栈顶部,则不会新建实例,否则新建实例;

复用时会触发 onNewIntent 方法。

singleTask(栈内复用)

栈内唯一,只要栈中存在该实例,将被复用;并且位于该复用活动顶部的活动将被推出栈;

复用时会触发 onNewIntent 方法。

singleInstance(单例模式)

全局唯一,单独占用一个栈(哪怕taskAffinity一样),只要存在该实例,无论从哪里启动都将被复用;

注意:假设有多个活动,ABCD,按顺序启动,单例活动处于中间,回退时,单例模式会在最后一个,因为它属于独立栈;

复用时会触发 onNewIntent 方法。

 

taskAffinity(任务亲和力)

标识当前活动所属任务;

默认所有活动属于一个相同的 taskAffinity(应用程序的包名);

启动两个App,分别把其中的活动设置为相同的 taskAffinity,两个app会分别启动两个不同的 task,但是相同 taskAffinity 的活动会处于相同 task 中,达到跨应用进程的作用。

allowTaskReparenting(活动迁移)

概括:能够从启动它的任务中转移到另一个与启动它的任务有亲缘关系的任务中。

两个app,打开第一个app,然后启动第二个app的TestActivity(allowTaskReparenting=true);

此时在打开第二个app,TestActivity将被迁移回自己的task,直接显示TestActivity。

 

posted on   翻滚的咸鱼  阅读(361)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2016-02-18 android重复的文件复制APK META-INF许可证错误记录
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示