Activity的四种启动模式

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

内容简介: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的打赏,我们会更加努力!    如果您想成为作者,请点我


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

查看所有标签

猜你喜欢:

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

浪潮之巅(上册)

浪潮之巅(上册)

吴军 / 人民邮电出版社 / 2013-5-1 / 35.00元

《浪潮之巅(第2版)(上册)》不是一本科技产业发展历史集,而是在这个数字时代,一本IT人非读不可,而非IT人也应该阅读的作品。一个企业的发展与崛起,绝非只是空有领导强人即可达成。任何的决策、同期的商业环境,都在都影响着企业的兴衰。《浪潮之巅》不只是一本历史书,除了讲述科技顶尖企业的发展规律,对于华尔街如何左右科技公司,以及金融风暴对科技产业的冲击,也多有着墨。此外,《浪潮之巅》也着力讲述很多尚在普......一起来看看 《浪潮之巅(上册)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具