彭振皖

 

Android12新加入了singleInstancePerTask类型

The activity can only be running as the root activity of the task, the first activity that created the task, and therefore there will only be one instance of this activity in a task. In constrast to the {@code singleTask} launch mode, this activity can be started in multiple instances in different tasks if the {@code FLAG_ACTIVITY_MULTIPLE_TASK } or {@code FLAG_ACTIVITY_NEW_DOCUMENT} is set.--> <enum name="singleInstancePerTask" value="4"

翻译:
该活动只能作为任务的根活动(创建任务的第一个活动)运行,因此任务中只能有一个此活动的实例。与{@code singleTask}启动模式不同,如果设置了{@ccode FLAG_activity_MUNIPLE_TASK}或{@codeFLAG_ACTIVETY_NEW_DOCUMENT},则可以在不同任务的多个实例中启动此活动

像是singleInstance和singleTask的结合体。
如果不存在包含目标Activity的栈,则创建一个新的Task,这个Task中是目标Activity所独有的,并且只会创建一次,后续如果在启动其它的Activity,这些新的Acitivty仍然在当前的task栈。

如果存在包含目标Activity的栈,则把包含目标Activity的Task栈挪到前台,并且把该栈中目标Activity上面的所有Activity进行出栈操作,从而实现目标Activity显示在前台的效果。

posted on   彭振皖  阅读(211)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

统计

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