【安卓面试题】Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景

Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景

Activity的启动模式 (Launchmode) 有4种

1.standard 默认模式,不需要配置

含义: 启动Activity会新建一个Activity实例

应用场景:

2. singleTop “在顶单一”模式

含义: 如果启动的Activity在栈的顶部已经存在,不会创建新实例,而是调用onNewIntent()方法

应用场景:新消息推送。 

3. singleTask 只有一个任务

含义:启动本程序的Activity,若Activity实例不存在,创建一个实例;若存在,会把在它上面的其他Activity销毁,并调用onNewIntent()方法。它会创建新的Task,所有之后的活动共享这个TaskId. 

       启动其他程序的Activity, 会创建一个新的TaskId, 并且之后的Activity都用这个TaskId.  

应用场景: 程序入口点。例如浏览器主页面    

4.singleInstance 只有一个实例,并且独霸一个TaskId

含义: 启动Activity,若Activity实例不存在,创建一个实例;若存在,会把在它上面的其他Activity销毁,并调用onNewIntent()方法。它会有自己的Task,不会和其他Activity共享一个TaskId

应用场景: 与程序其他部分分离的部分。 例如闹铃提醒

原文地址:https://www.cnblogs.com/yidan621/p/5680025.html