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

本文详细介绍了Android中四种Activity启动模式:标准模式(每次都创建新实例)、栈顶复用模式(仅当栈顶存在时复用)、栈内单例模式(栈内只有一个实例)和堆内单例模式(独立栈内唯一实例),并列举了各自的使用场景.
摘要由CSDN通过智能技术生成
设置activity的启动模式:在清单文件给 activity 设置 android:launchMode 属性

例如:android:launchMode=“singleTop”等

四种启动模式

1.standard(标准模式)

每次启动一个Activity实例时,都会创建一个新的实例。系统会在每次调用startActivity()时创建新的实例。

使用场景:用于普通的activity

2.singleTop(栈顶复用模式)

singleTop也就是栈顶复用模式。就是说如果当前这个Activity实例处于栈顶的话,那么就直接复用这个activity,否则就创建实例。

(复用时调用onNewIntent,onResume方法,不再执行onCreate)

使用场景:登录页面、WXPayEntryActivity、WXEntryActivity 、推送通知栏

3.singleTask(栈内单例模式)

singleTask也就是栈内复用模式。该模式下的Activity在栈内只能有一个实例,如果在栈内的话就复用该activity,且把它上边的activity从栈内移除,让该activity处于栈顶。不在栈内的话就新建。

(复用时调用onNewIntent,onResume方法,不再执行onCreate)

使用场景:主页面MainActivity、WebView页面、扫一扫页面、

                 电商项目中的:购物界面,确认订单界面,付款界面

4.singleInstance(堆内单例模式)

activity的实例在一个单独的栈中,这个栈内也只有这一个activity实例。

使用场景:系统Launcher、锁屏键、来电显示等系统应用

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值