task和back stack(任务和回退栈)

任务启动,task被加入到回退栈的栈顶,返回的时候回退栈的栈顶任务会被弹出,并被销毁,栈中的前一任务恢复运行,当activity销毁是,系统不会保留activity的状态。

当activity被paused 或者stopped时activity的状态可以保存,

Activity四种启动模式

在注册文件Activity标签中使用launchMode添加模式,默认模式为standrad

1.standrad

调用新的 activity activity1 进栈

调用新的 activity activity2 进栈

调用新的activity  activity3 进栈

按返回键 activity3 出栈

按返回键 activity2 出栈

按返回键 activity1 出栈

2.singleTop

如果在任务的栈顶正好存在该Activity的实例,就会重用该实例,不会新建Activity

会调用onNewIntent()方法。

如果不在栈顶或不存在会新建。

3.singleTask

如果在栈中已经有该Activity的实例,就会重用该Activity实例,把该activity放到栈顶,(会调用onNewIntent())可以在该方法中更新页面。(栈中的activity不会有重复)如果栈中没有该activity实例会新建activity放到栈顶。

4.singleInstance(单例模式

每个回退栈中只存在一Activity对象

如果过该Activity不存在,则要新建任务栈类存放该singleInstance模式窗口,且在新的singleInstance模式的Activity中的getTaskId会变化。应用场景:来电界面

Android Activity 四种启动模式的更多相关文章

  1. android:Activity四种启动模式简单介绍

    Activity启动模式 能够依据实际的需求为Activity设置相应的启动模式,从而能够避免创建大量反复的Activity等问题 Activity有四种载入模式 1.standard(默认启动模式, ...

  2. android activity四种启动模式

    1.standard <activity android:name=".MainActivity" android:launchMode="standard&quo ...

  3. Android -- Activity的生命周期,Activity四种启动模式 Standard, SingleTop,SingleTask,SingleInstance

    1. 示例图 . 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环:  Activity的完整生命周期自第一次调用onCreate()开始,直至调 ...

  4. Activity四种启动模式之singleTask应用

    Activity启动模式设置:         <activity android:name=".MainActivity" android:launchMode=" ...

  5. 简单易懂的Activity四种启动模式

    Activity的四种启动模式 我们在项目开发的过程中,会涉及到应用中各个Activity的跳转,有些Activity是可以复用,不用重复加载,节约内存的使用. 将第二个Activity的启动模式修改 ...

  6. Activity四种启动模式与Flag及affinity属性详解

    Activity有四种加载模式:standard(默认).singleTop.singleTask.singleInstance standard:Activity的默认加载模式,即使某个Activi ...

  7. Android中的Activity四种启动模式(launchMode)

    转载:http://blog.csdn.net/cjjky/article/details/7533110          我们在开发项目的过程中,会涉及到该应用中多个Activity组件之间的跳转 ...

  8. Android入门:Activity四种启动模式

    一.启动模式介绍 启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置: 启动模式有4种,分别为standa ...

  9. Android基础之Activity四种启动模式

    这东西是最基础的,发现自己其实没有真正试过,好好研究研究 standard :默认, singleTop :大体上同standard,但是当该Activity实例已经在task栈顶,不再创建新的实例, ...

随机推荐

  1. unity, 调节图片导入尺寸

    unity中直接导入高清图,通过max size来调节图片尺寸. 打包的时候通过看editor log或通过插件来监视是否有过大尺寸的图片.

  2. ILGenerator.Emit动态 MSIL编程(三)之动态代理

    using System; using System.Linq; using System.Reflection; using System.Reflection.Emit; public seale ...

  3. WebBrowser处理AJAX生成的网页内容!

    WebBrowser处理AJAX生成的网页内容! 等待网页执行完毕(AJAX执行后). 使用webBrowser1.Document.Body.OuterHtml可以获取到AJAX产生的网页内容.

  4. 高通AR增强现实Unity3D

    AR: 增强现实,台湾翻译叫做扩张实境 1.注册.然后下载sdk(注册账号主要是为了第3步中制作识别图而用的) 下载地址:https://developer.vuforia.com/resources ...

  5. 用两个Stack来实现一个Queue

    import java.util.Stack; /** * 问题:用两个Stack来实现一个Queue; * 方法:栈的特点是先进后出:而队列的特点是先进先出: * 用两个栈正好能把顺序调过来: * ...

  6. fMRI数据分析处理原理及方法(转载)

    原文地址:http://www.cnblogs.com/minks/p/4889497.html 近年来,血氧水平依赖性磁共振脑功能成像(Blood oxygenation level-depende ...

  7. asp.net中如何防止用户重复点击提交按钮

    asp.net中如何防止用户重复点击提交按钮   asp.net 中防止因为网速慢等影响交互的问题导致用户可能点击多次提交按钮,从而导致数据库中出现多条重复的记录,经过亲自验证在网上找的方法,找到两个 ...

  8. JVM实用参数(八)GC日志

    本系列的最后一部分是有关垃圾收集(GC)日志的JVM参数.GC日志是一个很重要的工具,它准确记录了每一次的GC的执行时间和执行结果,通过分析GC日志可以优化堆设置和GC设置,或者改进应用程序的对象分配 ...

  9. (转)WCF开发框架形成之旅---WCF的几种寄宿方式

    WCF寄宿方式是一种非常灵活的操作,可以在IIS服务.Windows服务.Winform程序.控制台程序中进行寄宿,从而实现WCF服务的运行,为调用者方便.高效提供服务调用.本文分别对这几种方式进行详 ...

  10. dubbo入门示例

    前提准备: 在本次实验之前,需要准备一下几个包: Spring中的aop.beans.context.core.expression以及struts中的commons-logging.javassis ...