内容简介: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的打赏,我们会更加努力! 如果您想成为作者,请点我
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML和XHTML权威指南(第五版)
Chuck Musciano、Bill Kennedy / 技桥 / 清华大学出版社 / 2004-6-1 / 72.00元
HTML!XHTML!级联样式表!编写网页的标准很难整理,因为各种版本的Netscape和Internet Explorer在其实现方式上千差万别。《HTML与XHTML权威指南》将这些标准全部介绍给了读者。本书作者找出了各种标准和浏览器特性,并在创建网页方面为读者提出了很多建议,以便能够被更广泛的浏览者和平台所接受。 学习HTML或XHTML和学习其他任何语言一样。大部分学生都是从......一起来看看 《HTML和XHTML权威指南(第五版)》 这本书的介绍吧!