Android Activity 四种启动模式及应用场景

1. Activity 启动模式 及 区别

    Standare:默认启动模式,每次都会在虚拟栈顶创建一个实例。

    SingleTop:检查该 Activity 的实例是否位于栈顶,位于栈顶时复用,非栈顶时创建新实例。

    SingleTask:该 Activity 在整个应用中只存在一个实例,启动此 Activity 时会检查虚拟栈中是否存在它的实例,如果存在直接复用,并把当前Activity之上所有实例全部出栈。

    SingleInstance:具备 singleTask 模式的所有特性。该模式的 Activity 会启动一个新的任务栈来管理 Activity 实例,并且该实例在整个系统中只有一个。无论从那个任务栈中启动该 Activity,都会是该 Activity 所在的任务栈转移到前台,从而使Activity显示。主要作用是为了在不同程序中共享一个 Activity 实例。

 

2. Activity 不同启动模式常见应用场景

    Standare:默认,无需设置

    SingleTop:APP接收到多条推送消息,点开不同消息,均由同一实例展示。

    SingleTask:APP的主页,无论哪种业务场景下再次回到此页,都不应保留之上Activity。

    SingleInstance:如APP经常调用的拨打电话、系统通讯录、地图类APP 等页面,不同APP调用此类Activity 时,首次创建实例,之后其他APP只能复用此实例。

 

3. 项目中使用方式(可分为动态或静态2种)

    1. 动态设置:代码中通过 Intent 的 addFlags 方法指定

9791228-e07de7addcfa6a63.png

    2. 静态设置:Manifest.xml 文件中配置

9791228-53a8563c249d25e6.png


 

9791228-7675eb84d39f893e.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MobMsg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值