Android - Activity启动模式

相关概念

  1. Task :是一个栈结构,activity存放的地方
  2. 当前页面的activity需要显示,则必须在栈顶

Activity启动模式

  1. standard 标准模式,每次都新建一个实例对象
  2. singleTop 如果在任务栈顶发现了相同的实例则重用,否则新建并压入栈顶
  3. singleTask 如果在任务栈中发现了相同的实例,将其上面的任务终止并移除,重用该实例。否则新建实例并入栈
  4. singleInstance 允许不同应用,进程线程等共用一个实例,无论从何应用调用该实例都重用

记忆方式

  1. singleTop 栈顶单例,只有在栈顶时才不复用
  2. singleTask 栈中单例,所以启动时其上面的都会被弹出
  3. singleInstance 单实例,也就是全局单例

设置方式

  1. 在Manifest中设置

    四种方式都可以

    <activity android:name=".MainActivity"
        android:launchMode="singleInstance"/>
    
  2. 在startActivity()时为intent设置

    此方法,可以设置一些Manifest中不能设置的(四个启动模式之外的一些参数)

    Intent intent = new Intent(this,MainActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(intent);
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值