AS Activity的启动方式

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.

传值:onNewIntent,

会执行的方法:

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

2.会开启另一个任务栈

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

1.singleInstance启动方式

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

猜你喜欢

转载自blog.csdn.net/sunweihao2019/article/details/108670546
今日推荐