Activity 的 launchMode

Activity 的 launchMode

Activity 的启动模式,直接操作 Activity 在栈中的情况

配置方式
<activity
android:name="com.xykj.apidemo.Activity01"
...
android:launchMode="singleTop" />
查看 Activity 栈的情况: adb shell dumpsys activity > D:/log1805281648.txt
搜索 Running activities 找打自己的应用包名

standar :

默认,可以在栈中创建多个 Activity ,每启动一个 Activity 都会在栈中创建一个 Activity 对象

singleTop :

如果当前 Activity 已经在栈顶,则不再创建 Activity 对象而是直接触发其 onNewIntent 方法

singleTask :

配置该启动模式的 Activity 一般要配合 android:taskAffinity 属性来使用,并且 taskAffinity 要跟应用包名不一样 ( 如: com.test) ,这样该 Activity 将会
放到新栈 ( 如名字 com.test) 的栈底,然后该 Activity 启动其他普通的 Activity 的话那么其他的也会被放到该新栈中

<activity
android:name="com.xykj.apidemo.Activity02"
android:label="Activity02"
android:taskAffinity="com.test"
android:launchMode="singleTask" />

singleInstance :

跟 singleTask 类似,唯一的区别是添加来该启动模式的 Activity 会被放在新栈中,并且新栈中有且只有该 Activity 一个对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值