android:launchMode=“singleInstancePerTask“

android:launchMode="singleInstancePerTask"Android 12(API Level 31) 引入的新启动模式,它是对现有的 singleInstance 模式的扩展。相比 singleInstance 模式,它为 Activity 提供了更多的灵活性,同时仍然保证了任务栈的独立性。

功能解释

  • singleInstancePerTask :与 singleInstance 类似,Activity 只能存在于一个独立的任务栈中,但不同的是,如果在同一个任务中再次启动这个 Activity,它将会创建新的任务栈,而不是复用之前的那个任务栈。

这意味着,每个任务(Task)中,最多只能有一个该 Activity 的实例。但是,同一个应用可以在不同的任务中启动该 Activity,并在每个任务中拥有其独立的实例。

主要特性

  1. 独立任务栈 :与 singleInstance 相似,这个 Activity 会启动到一个单独的任务栈中,不与其他 Activity 混合使用。
  2. 每个任务中仅有一个实例 :与 singleTask 相似,同一任务中最多只能有一个该 Activity 的实例。
  3. 多任务栈支持 :不同任务(Task)可以拥有各自独立的 singleInstancePerTask Activity 实例,每个任务都有其独立的任务栈。

使用场景

singleInstancePerTask 适合以下场景:

  • 需要确保某个 Activity 的独立性,类似于 singleInstance,但又需要允许多个任务在不同场合中启动该 Activity 各自的实例。
  • 例如,某个特殊的设置界面,用户可能从多个任务(如通知栏、系统设置或应用内)启动该界面。在每个任务中,它们应该有各自独立的行为和任务栈。

总结

singleInstancePerTask 提供了一种灵活的机制,允许多个任务分别拥有一个独立的 Activity 实例。与 singleInstance 相比,它允许在不同的任务中创建多个实例,而不是全系统只允许一个实例

相关推荐
COSMOS_*16 小时前
2025最新版 Android Studio安装及组件配置(SDK、JDK、Gradle)
android·ide·jdk·gitee·android studio
jian1105816 小时前
android studio Profiler性能优化,查看内存泄漏
android·性能优化·android studio
建群新人小猿18 小时前
陀螺匠企业助手——组织框架图
android·java·大数据·开发语言·容器
TheNextByte119 小时前
如何将文件从Android无线传输到 iPad
android·ios·ipad
赫萝的红苹果19 小时前
实验探究并验证MySQL innoDB中的各种锁机制及作用范围
android·数据库·mysql
叶落无痕5220 小时前
Android Studio 2024.3.1 连接夜神模拟器
android·ide·android studio
玲子的猫20 小时前
安卓原生开发实现图片双指放大预览功能
android
2501_9151063221 小时前
如何在iPad上高效管理本地文件的完整指南
android·ios·小程序·uni-app·iphone·webview·ipad
似霰21 小时前
AIDL Hal 开发笔记5----实现AIDL HAL
android·framework·hal
2501_915106321 天前
iOS 成品包加固,在只有 IPA 的情况下,能做那些操作
android·ios·小程序·https·uni-app·iphone·webview