Activity的launchMode





launchMode之standard

  ·标准模式。每次激活Activity时均在当前任务栈中创建新的实例。





在配置文件里把activity节点的属性配置为  android:launchMode="standard" (能够不用配置,由于默认是standard)

标准模式特性:

每次激活Activity,

taskid同样(即:表示每次激活Activity。是同一个任务栈。每次点击回退会依照后进先出的顺序出栈)

hashcode每次都不同(表示每次激活一次Activity都会创建一个新的实例)





launchMode之singleTop

    ·singleTop

    ·位于栈顶时唯一,假设当前Activity已位于当前任务栈的栈顶,则再次激活该Activity也不会创建新的实例





launchMode之singleTask

·singleTask

(1)独立于任务栈,假设该singleTaskActivity的实例不存在,则激活时会创建并获得栈顶位置。

(2)假设singleTaskActivity的实例已经存在,激活时不会创建新的singTaskActivity实例,且原来已经存在的singTaskActivity上方的Activity均出栈,原来的这个singTaskActivity获得栈顶位置。

一句话就是:singTaskActivity要么不存在要么仅仅有一个实例,激活时。肯定在栈顶位置,前面若有Activity时会被“挤”出站(被销毁)





launchMode之singleInstance(单例的)

·singleInstance

·实例唯一,不管哪个Task,共享同一个Activity的实例。

·该Activity有独立的Task(独占一个Task),且在Task中唯一,由该Activity激活的其他Activity归属于其他Task





singleInstance与taskAffinity





由被配置为singleInstance的Activity激活的其他Activity。会尝试放在

存在“亲属”关系的Task中。假设没有匹配的Task存在。则会创建新的Task存放被激活的Activity。

launchMode之的几种取值的更多相关文章

  1. UI:字典的两种取值的区别

    字典的两种取值的区别 (objectForKey: 和 valueForKey )参考 一般来说 key 可以是任意字符串组合,如果 key 不是以 @ 符号开头,这时候 valueForKey: 等 ...

  2. pig对null的处理(实际,对空文本处理为两种取值null或‘’)

    pig对文本null的处理非常特殊.会处理成两种null,还会处理成''这样的空值. 比方,读name,age,sex日志信息.name取值处理,假设记录为".,,"这样,会将na ...

  3. mybatis中两种取值方式?谈谈Spring框架理解?

    1.mybatis中两种取值方式? 回答:Mybatis中取值方式有几种?各自区别是什么? Mybatis取值方式就是说在Mapper文件中获取service传过来的值的方法,总共有两种方式,通过 $ ...

  4. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  5. content-type的几种取值

    四种常见的 POST 提交数据方式 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范.规范把 HTTP 请求分为三个部分:状态行.请求头.消息主体.类似于下 ...

  6. http协议POST请求头content-type主要的四种取值

    介绍: 在此之前对content-type理解很肤浅,因此必须记录下来现在的理解,以便回顾 Content-Type,从名字上可以理解为内容类型,但在互联网上专业术语叫“媒体类型”,即MediaTyp ...

  7. map的两种取值方式

    public class MapUtil{ public static void iteratorMap1(Map m) { Set set=m.keySet();//用接口实例接口 Iterator ...

  8. WM_NCHITTEST有21种取值,常用的有HTCAPTION,HTCLIENT,HTBORDER,HTSYSMENU,HTTRANSPARENT,罗列所有VCL里对其使用的情况

    我为了移动一个无标题栏的窗体,使用了WM_NCHITTEST消息,这个消息大概如下: 通常,我们拖动对话框窗口的标题栏来移动窗口,但有时候,我们想通过鼠标在客户区上拖动来移动窗口. 一个容易想到的方案 ...

  9. Map的几种取值方法

    public static void main(String[] args) throws IOException,ParseException { Map<String,String> ...

随机推荐

  1. #define xxx do{...} while(0) 宏定义

    linux内核和其他一些开源的代码中,经常会遇到这样的代码: do{ ... }while(0) 这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢? 实 ...

  2. Day 17 编码+文本编辑+函数

    知识点篇: #! /usr/bin/env python # -*- coding: utf-8 -*- # __author__ = "DaChao" # Date: 2017/ ...

  3. IOS-input元素光标偏移乱跑,是什么原因

    这中情况只会出现在一些ios手机上,是兼容性的问题,当然我没有认真的确认过是出现在那些ios系统上的: 之所以出现这种情况,肯定是在input上或TA的父元素上用到了position:fixed; 目 ...

  4. 信号板拼包:数组方式(bug长度只是截短,并未清空,若之后拷贝数据长度小于之前数据长度,老数据会接在后面)

    class SignalobardMsgReadHandler : public SessionVectChar::ReadHandler{public:  SignalobardMsgReadHan ...

  5. socket的accept: Invalid argument问题

    void local_sdk_server::wait_remote_client_connect_and_comm() { /*服务器服务启动,等待客户端的链接的到来*/ //sockaddr_in ...

  6. 【android】getDimension()、getDimensionPixelOffset()和getDimensionPixelSize()区别详解

    在自定义控件中使用自定义属性时,经常需要使用java代码获取在xml中定义的尺寸,相关有以下三个函数 getDimension() getDimensionPixelOffset() getDimen ...

  7. 高通msm8994启动流程简单介绍

    处理器信息 8994包括例如以下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(He ...

  8. 控制CUP占用率曲线

    在<编程之美>上看过一道面试题就是要求:输出cup占用率的曲线图 今天看到了一篇文章就试试看看: #include <iostream> #include <cmath& ...

  9. Toolbar的使用.md

    1.什么是Toolbar Toolbar是在Android5.0时出现的一个新控件,其目的用于取代Actionbar,它与Actionbar最大的差别就是Toolbar使用更加灵活.自由,而且Tool ...

  10. bootstrap3分页

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...