Activity的启动模式

任务栈

栈是一种”先进后出“的数据结构。Android中,采用任务栈的形式来管理Activity,任务栈是一种用来存放Activity实例的容器。
操作:压栈和出栈

启动模式

  • 活动总是拥有特定的启动模式,启动模式决定了Android系统如何在任务栈中管理活动的实例。
  • 活动的启动模式有4种:standard、singleTop、singleTask和singleInstance。
  • 可在清单文件AndroidManifest.xml中使用<activity>元素的launchMode属性来指定活动的启动模式。
    standard模式
    standard是活动的默认启动模式。
    系统在启动standard模式的活动时,不会检查任务栈顶部中是否已经有该活动,总是创建一个新的活动实例,将其放到任务栈顶部。
    singleTop模式
    如果活动是singleTop模式,在启动活动时,系统首先检查任务栈,若栈顶活动是相同活动的实例,则直接使用该活动,不会再创建新的实例。
    singleTask模式
    singleTask启动模式表示一个任务中只能存在活动的一个实例。在启动singleTask模式的活动时,系统如果发现任务栈中有该活动实例,则将该实例之上的所有活动出栈,使该实例成为栈顶活动。如果任务栈中没有活动实例,则创建一个新的活动实例,将其放到栈顶。
    singleInstance模式
    singleInstance模式会启动一个新的任务栈来管理Activity实例,无论从哪个任务栈中启动该Activity,该实例在整个系统中只有一个。
    singleInstance启动模式表示活动只允许”设备“中存在活动的一个实例,在启动singleInstance模式的活动时,系统会为活动实例创建一个新的任务返回栈。设备中的所有应用可共享该活动实例。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值