关于activity的启动模式

在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程。而启动模式就决定Activity启动运行方式。

1、设置方式它是在主配置文件中,Activity标签下的一个属性:android:launchMode=""2、属性值:standard  (标准,默认)  如果不设置一个Activity的启动模式,则该Activity默认的启动模式就是standard,该模式下,每次启动一个该Activity都会实例化一个新的Activity对象,并且放入任务栈中。它们都同属于一个Task

singleTop  见名知意,该模式为栈顶唯一模式。当Activity处于该模式下的时候,当需要启动此Activity时,会先看此Activity的实例是否存在于任务栈栈顶,如果位于栈顶,则重用该实例,不进行实例化。如果任务栈顶不是该Activity,则创建新的Activity,并且压入任务栈内。

singleTask此模式为栈内唯一模式,此模式与栈顶唯一模式不同在于,栈顶唯一模式只看栈顶是否是我们要启动的Activity,而栈内唯一模式要看我们要启动的Activity是否位于整个栈内,从上到下检查,若存在,则将该Activity回到栈顶,即将该Activity上面所有的Activity进行出栈操作,进行销毁,这样我们需要的Activity将回到栈顶,得到焦点,与用户进行交互。

singleInstance此模式为单一实例模式。处于这种模式下的Activity被启动时,先检测是否有存放该Activity的任务栈,若有则复用相应的Activity,若没有,创建新的Activity并放入一个新的任务栈,每个任务栈中只存放一个Activity对象,不可能存在其它Activity对象,处于这种状态下的Activity对象不存在回退窗口。

总之,在Android 开发中,合理运用Activity的启动模式,将大大节省系统内存开销,提高运行效率。
时间: 2024-10-25 05:20:32

关于activity的启动模式的相关文章

Activity的启动模式

Activity的四种启动模式: 在AndroidManifest.xml中给Activity进行配置,配置代码: android:launchMode="" 四种模式:Standard.singleTop.SingleTask.singleInstance 模式一 standard模式:没有在AndroidManifest.xml文件中配置,或者配置为android:launchModel="standard". 当启动一个Activity activity的时候

无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCreate()开始,直到调用onDestory()为止.Activity在onCreate()中设置所有“全局”状态以完成初始化. 而在onDestory()中释放所有系统资源.例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程, 而在onDestory()销

Activity的启动模式与flag详解

Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance.以下逐一举例说明他们的区别: standard:Activity的默认加载方法,即使某个Activity在 Task栈中已经存在,另一个activity通过Intent跳转到该activity,同样会新创建一个实例压入栈中.例如:现在栈的情况为:A B C D,在D这个Activity中通过Intent跳转到D,那么现在的栈情况为: A B C D D .此时如

任务栈 Activity的启动模式 Intent中的Flag taskAffinity

关于任务栈Task 栈的概念 栈(Stack)是一种常用的数据结构,栈只允许访问栈顶的元素,栈就像一个杯子,每次都只能取杯子顶上的东西,而对于栈就只能每次访问它的栈顶元素,从而可以达到保护栈顶元素以下的其他元素."先进后出"或"后进先出"就是栈的一大特点,先进入栈的元素总是要等到后进入栈的元素出栈以后才能出栈.递归就是利用到了系统栈,暂时保存临时结果,对临时结果进行保护. 栈的基本操作:压栈.弹栈 任务栈 Task简单的就是一组以栈的模式聚集在一起的Activity

Activity的启动模式---总结

Activity有四种启动模式: 1.standard(标准)    2.singleTop    3.singleTask  4.singleInstance 标识某个Activity的启动模式,有两种方式: 1.一种是通过AndroidManifest.xml    2.一种是通过Intent的标识 通过AndroidManifest.xml来标识: <activity android:name=".Activity1" android:launchMode="st

Android开发之Activity的启动模式

黑发不知勤学早,白首方悔读书迟.--<劝学> 今天花了整个下午+晚上的的时间学习了Activity的启动模式,本来以为这个知识点很简单,但是在学习的过程中发现,Activity的启动模式并没有自己想象的那么简单,下面我们一起来看看这Activity的四种启动模式吧,如有疑问欢迎留言,如有谬误欢迎大家批评指正,谢谢 Activity的启动模式共有四种 1.standard 2.singleTop 3.singleTask 4.singleInstance 如图所示: LaunchMode在多个A

android Activity的启动模式 作用简析+demo详解

笔者近期做的一个项目用到了Activity的启动模式,也算是第一次深刻地领会到了其强大与方便.在此也是将自己所得与大家分享,自己写了一个比较简易的demo,便于让大家理解. 此篇博客意在让对启动模式不了解的开发者对其有一个较为形象的认识,至于深入探究,笔者还是推荐去看任玉刚前辈所写的<android开发艺术探索>了. 网上对Activity的启动模式讲解的博客有很多,但是大部分都需要掌握"栈"的知识,而且很多并不是那么通俗易懂.笔者打算独辟蹊径,一方面通过百度地图讲其作用,

Android笔记(五) Activity的启动模式

Android中Activity是由返回栈来管理的,在默认情况下,每当启动一个新的Activity,它都会在返回栈中入栈,并且出于栈的顶端.但是有些时候Activity已经在栈的顶端了,也就不需要再启动的时候重新创建一个Activity的实例了,所以我们就需要其他的启动方式. Activity的启动方式一共分为四种:standard.singleTop.singleTask.singleInstance,可以在AndroidManiFest.xml中通过<activity>标签指定androi

思考一下activity的启动模式

在android里,有4种activity的启动模式,分别为:"standard" (默认) "singleTop" "singleTask" "singleInstance" standard.singleTop.singleTask.singleInstance(其中前两个是一组.后两个是一组),默认为standard standard:就是intent将发送给新的实例,所以每次跳转都会生成新的activity. sing