Activity的四种启动模式

栏目: Android · 发布时间: 7年前

内容简介:Android中有四大组件分别是activity、service、content provider、broadcast receiver。其中最关键的就是Activity。因为它是和用户交互最直接,最多的组件。它在Android中就类似于每一个和用户展示的页面。Activity在Android中是使用任务栈来存储创建的Activity实例,任务栈是一种“后进先出”的栈结构。举个例子,若我们多次启动同一个Activity。系统会创建多个实例依次放入任务栈中。当按back键返回时,每按一次,一个Activity

Android中有四大组件分别是activity、service、content provider、broadcast receiver。其中最关键的就是Activity。因为它是和用户交互最直接,最多的组件。它在Android中就类似于每一个和用户展示的页面。Activity在Android中是使用任务栈来存储创建的Activity实例,任务栈是一种“后进先出”的栈结构。举个例子,若我们多次启动同一个Activity。系统会创建多个实例依次放入任务栈中。当按back键返回时,每按一次,一个Activity出栈,直到栈空为止。当栈中无不论什么Activity。系统就会回收此任务栈。

上面的例子是没有设置启动模式的。这种方式很耗费内存。由此,Android特地为Activity设置了4种启动模式来根据不同场景进行手动切换,以最大化降低每次都要创建Activity的实例,来降低内存的使用。

一、Activity启动模式的概述

Activity有四种启动模式,分别是Standard、SingleTop、SingleTask和SingleInstance。

1)Standard 标准模式

说明:Android创建Activity的默认模式。如果没有设置启动模式,那么默认就是这个启动模式了。它是每次启动Activity都会创建一个新的实例,无论这个实例存不存在。

2)SingleTop 栈顶复用模式

说明:如果创建的Activity已经处于栈顶,那么不会再创建新的实例,会直接复用该实例;如果创建的Activity不处于栈顶,那么会创建一个新的实例入栈,使其处于栈顶,和Standard一样。

3)SingleTask 栈内复用模式

说明:如果创建的Activity已经处于栈中,那么不会再创建新的实例了。而是将存在栈内的这个Activity的实例以上的Activity全部销毁,使其处于栈顶。

4)SingleInStance 单实例模式

说明:从名字也可以看出。创建的Activity都会创建一个新的栈,并使其实例处于单独的栈中。

二、启动模式的使用

Android中Activity如果要使用的话,是必须要在AndroidManifest中进行配置。

1)在配置文件中进行设置

举个例子:

<activity android:name="..activity.MainActivity" android:launchMode="singleTask"/>

2)在使用Intent启动Activity的时候:

Intent intent = new Intent();
intent.setClass(context,MainActivity.class);
intent.addFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

其中的Flag有FLAG_ACTIVITY_NEW_TASK、FLAG_ACTIVITY_SINGLE_TOP。

FLAG_ACTIVITY_NEW_TASK:”SingleTask”启动模式;

FLAG_ACTIVITY_SINGLE_TOP:”SingleTop”启动模式;

还有两种不常用,这里不过多介绍。

三、总结

总的来说,四种启动模式,在实际过程中,都可能会用到。其中比较常用的是Standard、SingleTask。具体的情况得根据实际的开发情况,进行切换。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25303.html

Activity的四种启动模式

Activity的四种启动模式 微信打赏

Activity的四种启动模式 支付宝打赏

感谢您对作者Miya的打赏,我们会更加努力!    如果您想成为作者,请点我


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

决战大数据

决战大数据

车品觉 / 浙江人民出版社 / 2014-3-1 / 45.9

[内容简介]  大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不“谈大数据色变”,并呈现出一种观望、迷茫、手足无措的状态。车品觉,作为一名经验丰富的电商人,在敬畏大数据的同时,洞悉到了数据时代商业发展的更多契机,他创新了数据框架的建立和使用,重新量化了数据价值的指标,并挖掘了在无线数据和多屏时代下商业发展的本质……在他看来,改变思维方式,即可改变数据和商业的未来。  ......一起来看看 《决战大数据》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具