安卓学习笔记_Activity的四种启动模式

本文深入解析了Android中Activity的四种启动模式:standard、singleTop、singleTask和singleInstance,阐述了它们的区别及应用场景,帮助开发者更好地理解并选择合适的启动模式。

概述

Activity启动模式:

standard, singleTop, singleTask, singleInstance

指定方式:

在 AndroidManifest.xml 中给 Activity 标签指定 android: lunchMode 属性
示例1

活动的启动模式

1. standard

Activity的默认启动模式
每启动一个Activity就会在栈顶创建一个新的实例。
缺点:当Activity已经位于栈顶时,而再次启动Activity时还需要在创建一个新的实例,不能直接复用。

2. singleTop

只有Activity不在 栈顶 的时候, 才会创建 Activity的实例, 否则会直接复用栈顶Activity
缺点:如果Activity并未处于栈顶位置,则可能还会创建多个实例。

3. singleTask

使Activity在整个应用程序中只有一个实例。
如果在需要创建Activity的时候, 发现 栈 中已存在该Activity实例, 则直接启动该实例,
在其上的Activity 都会被出栈.

4. singleInstance

指定为singleInstance 的活动, 在被创建时会产生一个全新的返回栈来管理这个活动.
注意: 该实例有且仅有一个
(singleTask模式中, 如果指定了不同的 taskAffinity, 也会产生新的返回栈)

应用场景: 如果应用a的Activity x可能会被应用b, 应用c 打开, 那么Activity x使用singleInstance模式, 将会分别为不同应用打开的Activity x, 并且不会影响到其他应用的工作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值