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。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2016-02-18 android重复的文件复制APK META-INF许可证错误记录