Activity的四种启动模式:standard、singleTop、singleTask、singleInstance

  清单文件中的Activity配置使用:android:launchMode=""属性指定启动模式

 1、standard:默认模式,每次启动都会创建一个新的Activity对象,放到目标任务栈的栈顶

 2、singleTop:判断当前的任务栈顶是否存在相同的Activity,如果存在,直接使用,如果不存在,创建一个新的Activity对象放入栈顶

 3、singleTask:在任务栈中判断是否存在相同的Activity,如果存在,那么会清楚该Activity之上的所有Activity对象显示,

 如果不存在,创建一个新的Activity对象放入栈顶

 4、singleInstance:会在一个新的任务栈中创建Activity,并且该任务栈中只允许存在一个Activity实例,

 其他调用该Activity的组件会直接使用该任务栈中的Activity对象

  

 

 可以再代码中使用 intent.setFlags(); 设置Activity的启动模式:

 Intent intent = new Intent(this, MainActivity7.class);

 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

 startActivity(intent);
public class MainActivity7 extends Activity {

	@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main7);
} public void start1(View v){
Intent intent = new Intent(this, MainActivity7.class);
//相当于singleTask
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//相当于singleTop
// intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
public void start2(View v){
Intent intent = new Intent(this, MainActivity8.class);
startActivity(intent);
}
}

Android中Activity的四种开发模式的更多相关文章

  1. Android中Activity的四种启动模式

    要了解Android的启动模式先要了解一下Activity的管理方式: 1.Activity的管理机制 Android的管理主要是通过Activity栈来进行的.当一个Activity启动时,系统根据 ...

  2. Android 关于Activity的四种启动模式的简单介绍

    Activity启动模式设置: <activity android:name=".MainActivity" android:launchMode="standar ...

  3. Android中Activity的四种启动方式

    谈到Activity的启动方式必须要说的是数据结构中的栈.栈是一种只能从一端进入存储数据的线性表,它以先进后出的原则存储数据,先进入的数据压入栈底,后进入的数据在栈顶.需要读取数据的时候就需要从顶部开 ...

  4. 关于android的Activity的四种启动模式

    最近做项目遇到一个问题,当触摸屏幕的时候通过intent启动activity,发现会启动多次,而后查阅资料,发现,原来是activity的模式设置问题. Activity的启动模式可以通过Androi ...

  5. Android之Activity的四种启动模式

    当应用运行起来后就会开启一条线程,线程中会运行一个任务栈,当Activity实例创建后就会放入任务栈中.Activity启动模式的设置在AndroidManifest.xml文件中,通过配置Activ ...

  6. Android中activity的四个启动模式

    activity的四个启动方式分别是standard.singletop.singletask.singleinstance.第一个其实就是只要新打开活动就会新建一个实例.第二个顾名思义返回栈的顶部只 ...

  7. Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。

    原文:Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式. Android Activity 的四种启动模 ...

  8. Android学习笔记四:activity的四种启动模式

    Activity有四种启动模式:standard,singleTop,singleTask,singleInstance. 1.standard:标准启动模式 默认模式,这个模式下启动的Activit ...

  9. Activity的四种启动模式-图文并茂

    1.对于使用standard 模式的活动,系统不会在乎这个活动是否已经在返回栈中存在,每次启动都会创建该活动的一个新的实例.   例如A启动A,A再接着启动A,A继续启动A,然后再分别出栈,如图所示 ...

随机推荐

  1. Android studio 怎么使用已经下载好的Android SDK ?

    AS:3.1.2 ---> android-studio-ide-173.4720617-windows32.zip sdK: gradle:4.4 1. 2. 3. 4. 5. 下面重要一步, ...

  2. POP3命令与分析

    http://www.cnblogs.com/crystalray/p/3302121.html POP3(Post Office Protocol 3)即邮局协议的第3个版本,它是规定个人计算机如何 ...

  3. 题目1102:最小面积子矩阵(暴力求解&最大连续子序列)

    题目链接:http://ac.jobdu.com/problem.php?pid=1102 详解链接:https://github.com/zpfbuaa/JobduInCPlusPlus 参考代码: ...

  4. [工具] TreeSizeFree 查看每个文件夹的大小

    下载 URL :http://www.jam-software.com/treesize_free/ TreeSize Free这个软件可以非常简单方便的查看到每个文件夹的大小,而目录树的查看方式则让 ...

  5. Git - could not read Username for 'https://github.com',push报错解决办法

    执行git push命令异常,如下: git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sou ...

  6. http get请求参数拼接

    localhost:8080/hbinterface/orderInterface/groupReverseAccept.do?bizType=4&&bnetAccount=ESBTE ...

  7. 兵器簿之github的配置和使用

    1.注册一个github 账号,这个大家都懂得了啊 2.配置 (1 检查:进入终端,在用户目录下输入: ls -al ~/.ssh 得到下图代表本地没有配置过github 过. (2 创建一个目录,输 ...

  8. Linux查看磁盘目录内存空间使用情况

    du 显示每个文件和目录的磁盘使用空间 命令参数 -c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -s或--summarize  仅显示总计,只列出最后加总的 ...

  9. Linux wc

    命令参数: -c 统计字节数. -l 统计行数. -m 统计字符数.这个标志不能与 -c 标志一起使用. -w 统计字数.一个字被定义为由空白.跳格或换行字符分隔的字符串. -L 打印最长行的长度. ...

  10. Centos6.5安装mysql 5.7

    1.在官网下载安装包:https://dev.mysql.com/downloads/mysql/5.7.html#downloads mysql-5.7.10-linux-glibc2.5-x86_ ...