今天学了Activity的四种启动模式

standard:默认的启动模式,每一次的启动,系统都会创建它的新实例,即使该页面已经存在了适合standard场景:设置页面或每次进入都需要初始化的页面。

singleTop:当该模式的Activity已经位于堆叠的顶端时,不会创建新的实例,而是直接使用已经存在的Activity适合singleTop场景:消息通知中心或重复操作

singleTask:在singleTask模式下,如果当前Activity已经存在于堆叠中,那么系统将会把目前Activity上方的其他 Activity弹出,并将这个Activity移到前台,而不会创建新的实例适合singleTask场景:应用的主页。

singleInstance:强制该Activity在一个单独的TASK中运行,这个TASK中只能包含这一个Activity适合singleInstance场景:例如播放视频的全屏模式 Activity,需要独立于其他应用程序

今天讲的东西比较抽象借由实际去改Intent去实际操作才能比较好知道怎么使用LoginInputActivity

public class LoginInputActivity extends AppCompatActivity implements View.OnClickListener {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_login_input);
findViewById(R.id.btn_jumpsuccess).setOnClickListener(this);
}

@Override
public void onClick(View view) {
Intent intent = new Intent(this, LoginSuccessActivity.class);
intent.setFlags(intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
}

LoginSuccessActivity

public class LoginSuccessActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_login_success);

}
}

借由两个Acitivy还有设计一个跳转按钮就可以在模拟机上体会画面差别