Activity设置启动模式的两种方式

本文介绍了Android中Activity的启动模式及如何通过Intent Flags进行配置。详细解释了standard、singleTop、singleTask和singleInstance等模式的区别,并说明了FLAG_ACTIVITY_SINGLE_TOP、FLAG_ACTIVITY_CLEAR_TOP等常用Flag的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Activity的启动模式用于设置任务栈管理其方式,通常有两种方式设置Activity启动模式。

  • 一种是在AndroidManifest.xml文件中的<activity>节点中设置android:launchMode属性

可以设置四种standard,singleTop,singleTask,singleInstance;详细含义点击查看《Android开发艺术探索》学习总结2 Activity启动模式,比如:

<activity android:name=".TransitionActivity"
    android:launchMode="standard"/>
  • 一种就是通过在开启Activity的时候,通过设置Intent Flag来设置
Intent intent=new Intent(this,TransitionActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

下面就来介绍第二种方式几个常用的Flag:

(1)FLAG_ACTIVITY_SINGLE_TOP

其效果和第一种singleTop模式一样

(2)FLAG_ACTIVITY_CLEAR_TOP

其效果和第一种singleTask模式一样

(3)FLAG_ACTIVITY_NO_HISTORY

其效果是当某个Activity以这种方式启动的时候,其再去启动其他Activity,则该Activity就消失了;比如,A以这种方式启动B,B启动了C,那么Activity的任务栈中就只有AC了

(4)FLAG_ACTIVITY_NEW_TASK

其效果是启动的activity在一个新的任务栈中,功能和第一种singleInstance模式一样,通常用于在一个没有Activity任务栈的环境里开启一个Activity,就好比我们经常使用的服务里面。

注:欢迎扫码关注

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值