Activity的4种启动模式

launchMode的4种属性

通过设置AndroidManifest里的activity的android:launchMode属性设置activity的启动模式

        <activity android:name=".DialogActivity"
        android:launchMode=""/>

有四种属性值可供设置:

  1. standard:表示每启动一个activity,便为他创建一个实例,不管之前有没有启动过
  2. singleTop:栈顶复用模式,当启动一个activity的时候,首先检查当前栈的栈顶,如果栈顶为要启动的activity,便启动栈顶的activity,不再重新创建,并且启动onNewIntent方法;如果栈顶不为要启动的activity或者栈里没有要启动的activity,便创建一个activity,放入栈中。
  3. singleTask:当启动一个activity时,检测当前栈中是否有要启动的activity实例,如果有,则销毁该activity上面的所有activity,启动该activity。
  4. singleInstance:每个activity放在一个栈中,只要有activity实例存在,当启动activity时,直接启动已经存在的activity,这个不太常用。

栈名默认为包名,但是可以通过设置AndroidManifest里activity的android:taskAffinity属性设置栈名,如果启动activity的时候另一个栈里有要启动activity的实例,在singleTop和singleTask模式下仍会创建新的activity。

        <activity android:name=".DialogActivity"
        android:taskAffinity=""/>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值