Android活动的启动模式

1. standard

  标准模式,是活动默认的启动模式,在不进行显示指定的情况下,所有活动都会自动使用这种模式。

  Android使用返回栈管理活动,在standard模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处在栈顶位置。

  例如:

 1 public class FirstActivity extends AppCompatActivity {
 2     @Override
 3     protected void onCreate(Bundle savedInstanceState) {
 4         super.onCreate(savedInstanceState);
 5         //提示信息
 6         Toast.makeText(this, "FirstActivity" + this, Toast.LENGTH_SHORT).show();
 7         setContentView(R.layout.activity_first);
 8         Button btn = findViewById(R.id.btn1);
 9         btn.setOnClickListener(new View.OnClickListener() {
10             @Override
11             public void onClick(View v) {
12                 Intent intent = new Intent(FirstActivity.this, FirstActivity.class);
13                 startActivity(intent);
14             }
15         });
16     }
17 }

FirstActivity.java

  从输出信息可以看出,当点击new activity时,会新建一个活动,执行了onCreate方法。

2. singleTop

  如果要启动一个活动,当栈顶已经存在了该活动,那么不会再次新建这个活动;反正,如果这个活动不在栈顶,仍然会新建这个活动。

  可能有些时候,绝对standard模式不太合理,活动已经在栈顶了,为什么还要启动新的活动?

  设置为singleTop模式:

1 <activity android:name=".FirstActivity"
2     android:launchMode="singleTop">
3     <intent-filter>
4         <action android:name="android.intent.action.MAIN" />
5         <category android:name="android.intent.category.LAUNCHER" />
6     </intent-filter>
7 </activity>

3.singleTask

  目的是让某个活动在整个应用程序的上下文中只存在一个实例。每次启动活动时,系统会首先检查返回栈中是否存在这个活动,只有不存在才会创建,如果找到,直接使用返回栈的活动。

4.singleInstance

  启动一个新的返回栈来管理这个活动。

  实现多个程序共享活动,多个应用程序共享这个返回栈。

原文地址:https://www.cnblogs.com/zhuxiang1633/p/8744238.html

时间: 2024-08-30 03:29:05

Android活动的启动模式的相关文章

[Android]活动的启动模式

启动模式一共有四种,分别是 standard.singleTop.singleTask 和 singleInstance , 可 以 在 AndroidManifest.xml 中 通 过 给 标 签 指 定android:launchMode 属性来选择启动模式.在实际项目中我们应该根据特定的需求为每个活动指定恰当的启动模式. 1. standard standard 是活动默认的启动模式,在不进行显式指定的情况下,所有活动都会自动使用这种启动模式.因此,到目前为止我们写过的所有活动都是使用的

Android——活动的启动模式

活动的启动模式分为:standard.singleTop.singleTask.singleInstance四种. standard模式 是活动默认的启动模式,是在学习活动跳转时最先接触的模式.这个启动模式无视栈顶的活动,在实现Intent跳转后就会创建一个新的活动(即使是同一个活动).例如: Intent intent=new Intent(FirstActivity.this, FirstActivity.class); startActivity(intent); 当你在FirstActi

(Android第一行代码)活动的启动模式

活动的启动模式 启动模式一共有四种,分别是 standard.singleTop. singleTask 和 singleInstance,可以在 AndroidManifest.xml 中通过给<activity>标签指定 android:launchMode属性来选择启动模式.下面我们来逐个进行学习. 1.standard模式:(对于使用 standard 模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建 该活动的一个新的实例.)   是活动默认的启动模式  修改

android中活动的启动模式

活动的启动模式 1.standard 2.singleTop 3.singleTask 4.singleInstance standard为默认的活动启动模式(无论活动是否在栈顶,都会创建一个新的活动) sing了Top(如何栈顶有了新的活动就不会创建新的活动,会直接使用已经存在的活动) singleTask(可以解决重复创建栈顶活动的问题,创建新的活动之前会检查是否活动已经存在,若存在就把该活动之前的活动全部清出栈,将该活动显示在栈顶,否则就创建一个新的活动) singleInstance(该

Android笔记(八)活动的启动模式

1.启动模式一共有四种,分别是standard.singleTop.singleTask 和 singleInstance,可以在AndroidManifest.xml中通过给activity标签指定android:launchMode 属性来选择启动模式. 2.standard standard 是活动默认的启动模式,在不进行显式指定的情况下,所有活动都会自动使用 这种启动模式.在 standard 模式下,每当启动一个新的活动,它就会在返回栈中入栈,并处于栈顶的位置.对于使用standard

活动的生命周期(五)活动的启动模式

活动的启动模式对我们来说是个新的概念,在实际项目中我们会根据活动的需求为每个活动指定恰当的启动模式.共分为四种分别是:standard,singletop,singletast,singleinstance,可以在androidMainfest.xml中进得指定,android:launchModel属性来选择启动查式. Standard(标准):从字面就可能看得出这个是标新准的启动模式,在不进行显示指定的情况下,都是这种模式.在这个模式下每当启动一个新的活动时,它就会压入栈的顶部,而不去管这个

Android activity的启动模式

自己的理解加上网上的一些资料总结了关于activity的四种启动模式 在实际项目中我们应该根据特定的需求 为每个活动指定恰当的启动模式.启动模式一共有四种,分别是 standard.singleTop. singleTask 和 singleInstance,可 以在 AndroidManifest.xml 中通 过给<activity>标签 指定 android:launchMode属性来选择启动模式. 1,standard(这是活动的一个标准模式,在创建活动的时候默认是这个模式) 在 st

活动的启动模式汇总

启动模式一共有四种,分别是 standard.singleTop. singleTask 和 singleInstance,可以在 AndroidManifest.xml 中通过给<activity>标签指定 android:launchMode属性来选择启动模式,如 android:launchMode="standart" android:launchMode="singleTop" android:launchMode="singleTa

安卓 活动的启动模式

活动的启动模式:1.standard 2.singleTop 3.singleTask 4.singleInstance-------可在 AndroidManifest 中通过给<activity>标签指定android:launchMode属性来选择启动模式 standard     (1)默认的启动模式 每此启动都会创建该活动的一个新的实例 返回栈中可存在3个相同的activity,所以  按三次back才可退出     返回栈中可是     A    A    A singleTop