<<Android开发艺术探索>>读书笔记--Activity LaunchMode

(A、B、C、D分别为Activity A、Activity B、Activity C、Activity D简写,

ActivitySingleTask为android:launchMode="singleTask"的Activity

ActivitySingleInstance为android:launchMode="singleInstance"的Activity)

 

1. standard:Activity的默认启动模式,

standard-demo0: 使用getApplicationContext()为Context时,会抛出异常.(修改StandModeTestcase.demo0(Context))

2. singleTop: 

singleTop-demo0:

    A: Intent.FLAG_ACTIVITY_SINGLE_TOP

    B: 

    C:

    ABCA->ABCA

singleTop-demo1:

    A:

    B:

    C: Intent.FLAG_ACTIVITY_SINGLE_TOP

    ABCC->ABC

3. singleTask:

singleTask-demo0:

    A: Intent.FLAG_ACTIVITY_NEW_TASK

    B:

    C:

    ABCA->ABC

singleTask-demo1:

    A: Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK

    B:

    C:

    ABCA->A

    onCreateA() onCreateB() onCreateC() onCreateA() onDestroyA() onDestroyB() onDestroyC()

singleTask-demo2:

    ActivitySingleTask:

    B:

    C:

    ActivitySingleTask B C ActivitySingleTask -> ActivitySingleTask

    onCreateSingleTask() onCreateB() onCreateC() onNewIntentSingleTask() onDestroyB() onDestroyC()

4. singleInstance: 

singleInstance-demo0:

    ActivitySingleInstance:

    B:

    C:

    ActivitySingleInstance B C ActivitySingleInstance -> B C ActivitySingleInstance

    onCreateSingleInstance() onCreateB() onCreateC() onNewIntentSingleInstance()


参考代码:https://github.com/afunx/AndroidDemo365/tree/master/AndroidDemo365/ActivityLaunchMode


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值