四种启动模式的大致思维图如下:
- Standard标准模式
说明: 默认的启动模式,每次启动一个Activity都会创建一个新的 实例入栈,无论这个实例是否存在
应用场景: 该模式为默认模式,适用于大多数场景
例子:
- SingleTop栈顶复用模式
说明: 此种模式分两种情况处理:1.需要创建的Activity是已经处于栈顶时,此时后直接复用栈顶的Activity 2.如果需要创建Activity不处于栈顶,此时会创建一个新的Activity入栈,同Standard模式一样
应用场景: 通知消息打开的页面,耗时操作返回的页面,登录页面
例子:
- SingleTask栈内复用模式
说明: 如果需要创建的Activity是已经处于栈中,此时不会创建新的Activity,而是会将上面其他的Activity进行销毁,使其成为栈顶,此时会调用onNewIntent方法
应用场景: 大多数App的主页
例子:
- SingleInstance单实例模式
说明: 该模式是全局单例模式,是对SingleTask的加强,其拥有他的所有特性外,还加强了一点,具有此模式的Activity仅仅能单独位于一个任务栈中
应用场景: 呼叫来电界面