activity的启动模式有哪些?

Activity启动模式设置:

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

Activity的四种启动模式:

    1. standard

        模式启动模式,每次激活Activity时都会创建Activity,并放入任务栈中。

    2. singleTop

        如果在任务的栈顶正好存在该Activity的实例, 就重用该实例,否者就会创建新的实例并放入栈顶(即使栈中已经存在该Activity实例,只要不在栈顶,都会创建实例)。

    3. singleTask

        如果在栈中已经有该Activity的实例,就重用该实例(会调用实例的onNewIntent())。重用时,会让该实例回到栈顶,因此在它上面的实例将会被移除栈。如果栈中不存在该实例,将会创建新的实例放入栈中。 

    4. singleInstance

        在一个新栈中创建该Activity实例,并让多个应用共享改栈中的该Activity实例。一旦改模式的Activity的实例存在于某个栈中,任何应用再激活改Activity时都会重用该栈中的实例,其效果相当于多个应用程序共享一个应用,不管谁激活该Activity都会进入同一个应用中。

系统默认用第一条:standard
时间: 2024-08-12 13:36:20

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

关于activity的启动模式

在Android中每个界面都是一个Activity ,界面的切换实际上是对不同Activity实例化的过程.而启动模式就决定Activity启动运行方式. 1.设置方式它是在主配置文件中,Activity标签下的一个属性:android:launchMode=""2.属性值:standard (标准,默认) 如果不设置一个Activity的启动模式,则该Activity默认的启动模式就是standard,该模式下,每次启动一个该Activity都会实例化一个新的Activity对象,并

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