Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景

Activity的启动模式 (Launchmode) 有4种

1.standard 默认模式,不需要配置

含义: 启动Activity会新建一个Activity实例

应用场景:

2. singleTop “在顶单一”模式

含义: 如果启动的Activity在栈的顶部已经存在,不会创建新实例,而是调用onNewIntent()方法

应用场景:新消息推送。

3. singleTask 只有一个任务

含义:启动本程序的Activity,若Activity实例不存在,创建一个实例;若存在,会把在它上面的其他Activity销毁,并调用onNewIntent()方法。它会创建新的Task,所有之后的活动共享这个TaskId.

启动其他程序的Activity, 会创建一个新的TaskId, 并且之后的Activity都用这个TaskId.

应用场景: 程序入口点。例如浏览器主页面

4.singleInstance 只有一个实例,并且独霸一个TaskId

含义: 启动Activity,若Activity实例不存在,创建一个实例;若存在,会把在它上面的其他Activity销毁,并调用onNewIntent()方法。它会有自己的Task,不会和其他Activity共享一个TaskId

应用场景: 与程序其他部分分离的部分。 例如闹铃提醒

【安卓面试题】Activity和Task的启动模式有哪些?每种含义是什么?举例说明各自的应用场景的更多相关文章

  1. Activity生命周期以及启动模式对生命周期的影响

    前天用户体验反馈的一个需求,要求每次进入应用都定位到首页;这个操作很明显不适合放在首页Activity(启动模式为SingleTask)的onResume中,如果对Activity的启动模式和生命周期 ...

  2. Android零基础入门第77节:Activity任务栈和启动模式

    通过前面的学习,Activity的基本使用都已掌握,接下来一起来学习更高级的一些内容. Android采用任务栈(Task)的方式来管理Activity的实例.当启动一个应用时,Android就会为之 ...

  3. Activity的任务栈Task以及启动模式与Intent的Flag详解

    什么是任务栈(Task) 官方文档是这么解释的 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即“返回栈”)中. 其实就是以栈的 ...

  4. Android Activity生命周期与启动模式

    Activity的完整生命周期如下图: Activity的加载模式有四种: standard: 标准模式,默认的加载模式,每次通过这种模式启动目标Acitivity,都创建一个新的实例,并将该Acti ...

  5. Activity的生命周期& 启动模式

    1.Activity的生命周期 生命周期这个事情,是android工程师最基础的知识,所以今天要讲的是一些不一样的东西. 1.1 OnStart,OnResume,OnPause,OnStop 他们的 ...

  6. 关于activity生命周期,启动模式和tag

    Acticity启动模式 1.standard:Activity的默认加载方法,该方法会通过跳转到一个新的activity,同时将该实例压入到栈中(不管该activity是否已经存在在Task栈中,都 ...

  7. Activity的四个启动模式

    /** * Activity有四种启动模式(android:launchMode) * 分别是: * 1. standard(默认),可以不停的在栈中创建新的Activity * 2. singleT ...

  8. android83 Activity的生命周期,启动模式,返回时传递数据

    #Android四大组件 * Activity * BroadCastReceiver * Service * ContentProvider #Activity生命周期 * oncreate:Act ...

  9. Android03-Activity生命周期及启动模式

    1.返回栈概念 2.生命周期 1. onCreate() 这个方法你已经看到过很多次了,每个活动中我们都重写了这个方法,它会在活动 第一次被创建的时候调用.你应该在这个方法中完成活动的初始化操作,比如 ...

随机推荐

  1. POJ 3170 Knights of Ni (暴力,双向BFS)

    题意:一个人要从2先走到4再走到3,计算最少路径. 析:其实这个题很水的,就是要注意,在没有到4之前是不能经过3的,一点要注意.其他的就比较简单了,就是一个双向BFS,先从2搜到4,再从3到搜到4, ...

  2. springMVC使用注解方式进行页面跳转

    <!--控制层-->package cn.org.spartacus.spring; import org.springframework.beans.factory.annotation ...

  3. 联想硬盘分区表格式修改 GPT -> MBR

    知识点分析:随机预装Win8的电脑,磁盘为GPT格式的,如果需要安装Win7等早期版本系统,需要转换为MBR格式的,使用Diskpart命令即可完成转换. 操作步骤: 注意:转换磁盘格式需要清空磁盘中 ...

  4. HTML定位(滚动条、元素,视口)定位

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. Android LIstView初次创建getview方法执行多次问题

    写listview优化的时候,发现Listview初次创建的时候会多次执行getView方法. <?xml version="1.0" encoding="utf- ...

  6. C++的优秀特性5:模版

    (转载请注明原创于潘多拉盒子) C++是强类型语言,而且恐怕是强类型语言里面类型最严格的.这意味着:1. C++变量的类型在定义时就确定了:2. 该类型在后续的生命期中不会改变.比如: int n = ...

  7. Slony-I的 RemoteWorker重试调查

    客户的问题是: 向Slony-I运行环境中,增加新的slaveDB节点的时候发生错误. log中反复出现错误,然后再重新开始(重新开始部分的log省略): CONFIG remoteWorkerThr ...

  8. 关于android 图像格式问题

    这算是篇总结吧.6月份开始做的一个android上的ar项目结束了.我做的部分是二维码识别和图像识别的预处理.这个项目虽然很累,但是让我学到了很多东西,特别是严格的编码规则,和java代码的效率优化, ...

  9. ubuntu全盘备份与恢复

    备份: 以下是我用来备份系统的完整命令: tar -jpcvf Ubuntu-12.04-20131018.tar.bz2 --exclude=/proc --exclude=/lost+found ...

  10. FindMe

    https://github.com/hongdong/FindMe_Android https://github.com/hongdong/FindMe_Server https://github. ...