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 相比,它允许在不同的任务中创建多个实例,而不是全系统只允许一个实例

相关推荐
Zhu75821 小时前
在k8s集群部署MySQL单实例,支持多个主流发行版
android·mysql·kubernetes
AFinalStone1 天前
Android 7系统异常问题排查(四)Framework层(上)—System Server Watchdog
android·系统异常
宝杰X71 天前
Android Room3 多平台数据库
android·数据库
huibin1478523691 天前
热缓解学习记录
android·学习
小田的博客1 天前
SAP MM 供应商银行主数据更新报错!message R1228!
android·java·服务器
一笑的小酒馆1 天前
Android智能猫砂盆视频加载慢卡顿问题分析
android
只会cv的小前端1 天前
七巧低代码服务端脚本使用方法
android·低代码·rxjava
1 天前
Android 自定义 View 实战:从零打造工业级全向摇杆控件(OmniJoystickView)
android·kotlin·自定义view·摇杆控件
雨白1 天前
深入理解 Kotlin 协程 (十一):以逸待劳,探秘 select 多路复用与并发安全策略
android·kotlin
hunterandroid2 天前
[Android 从零到一] Android 深度链接与 App Links:从 URI Scheme 到可验证的应用跳转
android