内容简介: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
微信打赏
支付宝打赏
感谢您对作者Miya的打赏,我们会更加努力! 如果您想成为作者,请点我
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 理解Android 中的启动模式
- Oracle连接启动和关闭模式(汇总)
- 命令行模式启动VMWare虚拟机
- CentOS7修改系统启动模式
- Activity启动模式(GIF 动态演示)
- Activity的生命周期与启动模式
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
浪潮之巅(上册)
吴军 / 人民邮电出版社 / 2013-5-1 / 35.00元
《浪潮之巅(第2版)(上册)》不是一本科技产业发展历史集,而是在这个数字时代,一本IT人非读不可,而非IT人也应该阅读的作品。一个企业的发展与崛起,绝非只是空有领导强人即可达成。任何的决策、同期的商业环境,都在都影响着企业的兴衰。《浪潮之巅》不只是一本历史书,除了讲述科技顶尖企业的发展规律,对于华尔街如何左右科技公司,以及金融风暴对科技产业的冲击,也多有着墨。此外,《浪潮之巅》也着力讲述很多尚在普......一起来看看 《浪潮之巅(上册)》 这本书的介绍吧!