AS Activity的启动方式

本文详细介绍了Android中Activity的不同启动模式,包括standard、singleTop、singleTask和singleInstance的特点及应用场景,并提供了具体的代码实例。

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

1.基本知识

1.activity在任务栈中的出入顺序先进后出,后进先出

在这里插入图片描述

2.启动方式

1.standard启动方式(标准,默认)

跳转到自己activity的时候会加一个activity自己,会执行

2.singleTop(顶部允许一个相同)启动方式

跳转到自己时,会复用,他只会执行:onPause,onResume,自己与自己的传递通过重写onNewIntent

代码实现:

设置启动模式
在这里插入图片描述

<activity android:name=".MainActivity4"
            android:launchMode="singleTop"></activity>

//跳转代码

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main4);
        Log.d(TAG, "onCreate: ");
        findViewById(R.id.bt).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity4.this, MainActivity4.class);
                intent.putExtra(UtilsConstants.S4,1);
                startActivity(intent);
            }
        });
    }
    

//接收代码

@Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        Log.d(TAG, "onNewIntent: ");
        Toast.makeText(this, "4-------》"+intent.getIntExtra(UtilsConstants.S4,0), Toast.LENGTH_SHORT).show();
    }

都写到同个activity
自己跳转到自己的时候运行日志
在这里插入图片描述
跳转到自己的声明周期
在这里插入图片描述

3.singleTask启动方式

1.启动顺序:1 -> 2 -> 3 -> 4 -> 1。其中1设置为singleTask。点击返回的时候,软件直接退出,表面234这三个activity已经被销毁了。销毁的顺序为:3 -> 2 -> 4 -> 1。

传值:onNewIntent,
会执行的方法:

onNewIntent -->onStart–>onResume。
全部过程:
在这里插入图片描述

2.会开启另一个任务栈

配置:
在这里插入图片描述
运行结果
在这里插入图片描述

1.singleInstance启动方式

3为Activity3中设置为singleInstance启动方式
操作过程:1–>2–>3–>4然后一直返回键
展示结果:
4–>2–>1–> 3
结论:3最后才销毁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值