我阅读了正式文件,并理解singleInstance总是通过创建一个新任务来打开的。因此,我认为,如果我使用相同的taskAffinity运行两个活动,那么只有最后一个打开的活动将出现在后端堆栈上。但是,当以相同的singleInstance打开两个活动时,两个活动都会堆叠在后台堆栈上。我如何理解singleInstance
发布于 2022-01-31 16:15:18
这一点很简单:taskAffinity胜过launchMode。这意味着,如果您启动了一个Activity,并且Activity与任务中的其他活动具有相同的taskAffinity,则特殊的launchMode的singleTask和singleInstance将被忽略。
因此,不幸的是,文档并不是100%正确的,因为在某些情况下,singleInstance和singleTask启动模式的行为方式与文档不同。
一般来说,您不应该使用特殊的启动模式singleTask或singleInstance,因为这些附带许多副作用并不明显。你不应该需要这些特殊的启动模式,除非你正在实现一个主屏幕替换。
https://stackoverflow.com/questions/70810313
复制相似问题