Activity的4种launchMode -电脑资料

电脑资料 时间:2019-01-01 我要投稿
【www.unjs.com - 电脑资料】

   

   

也许是我的英文理解能力问题,Google关于launchMode的描述总是让我困惑,所以我就分别测试了这几种模式,按照我的理解重新整理一下文字

    A - standard:默认模式,总是创建新的A实例,同一个任务可以有多个A的实例

    Task堆栈:A1->A2->A3->A4

    B - singleTop:类似于standard,不过,当堆栈顶部是B的实例时,不会创建新的B实例(A1创建B1, 这时B1可以创建A2,但不能创建B的新实例,A2可以创建新的B实例)

    Task堆栈:A1->B1->A2->B2

    C - singleTask:B1在新的task创建C的实例,C可以在自己的task中创建B2和A2,A2启动C时,不会创建新的C实例,而是直接转到C的当前实例,并且,C返回时,直接返回启动C的B1,而不是转入C之前的A2

    Task堆栈:A1->B1

    \

    C->B2->A2

    D - singleInstance:类似于singleTask,但新的task只能有D一个实例,D启动的B2会在原来的task创建,

Activity的4种launchMode

电脑资料

Activity的4种launchMode》(https://www.unjs.com)。B2无法返回D,而是返回到B1,A1退出后,可以看到D还在。

    Task堆栈:A1-B1 B2->A2

    \ /

    D

最新文章