看了很多关于Activity启动模式(launchMode)和intent设置intent.setFlags

(Intent.FLAG_ACTIVITY_NEW_TASK);
发现网上说的和我测试结果 不符。

想必大家一定看过 http://marshal.easymorse.com/archives/2950 这篇文字的解说。 我当初看完之后

觉得确实很清晰了
但又看了其他人的关于结合intent的Flags 以及ActibvityAffiity属性等文章后 越来越迷糊。

现在说说我的不解 :

先看大多数 大家总结的4种方式如下:
standard  每次都会新建,每个Task都可以有,且每个Task都可以有多个实例(每个Task都可以有,且

可以有多个)  
singleTop 当前实例如果在栈顶,就不新建实例,调用其OnNewIntent。 如不在栈顶,则新建实例  (

每个Task都可以有,且可以有多个,在栈顶时可复用)  
singleTask 新建一个Task,如果已经有其他的Task并且包含该实例,那就直接调用那个Task的实例。(

只有一个Task中会有)  
singleInstance 新建一个Task,且在该Task中只有它的唯一一个实例。 (只有一个Task会有,且该Task

中只有它)

standard 没有悬念很好理解 测试也符合。
singleTop 也基本理解,但有人说如果配合FLAG_ACTIVITY_NEW_TASK使用则会产生新的TASK 对此我测试

的时候 并没有发现有新的TASK产生 打印的TASKID依然是原先的。
singleTask 对此很迷糊 大家都说是产生了一个新TASK 测试后并无发现创建了新TASK 且加上

FLAG_ACTIVITY_NEW_TASK也无效,依然是TASKID无变化,是不是我理解错误呢?
singleInstance 对此表示理解 且经过测试 也都符合文档描述。且创建了新的TASKID 且 这个TASKID种

只有它自己的实例存在。

附上我的测试过程

test.task.ActivityB(standard) ->(FLAG_ACTIVITY_NEW_TASK)-> test.task.ActivityC(standard)

TASKID 无变化

test.task.ActivityB(standard) ->(FLAG_ACTIVITY_NEW_TASK)-> test.task.ActivityC(singleTop)

TASKID 无变化

test.task.ActivityB(standard) ->(FLAG_ACTIVITY_NEW_TASK)-> test.task.ActivityC(singleTask)

TASKID 无变化

test.task.ActivityB(standard) ->(FLAG_ACTIVITY_NEW_TASK)-> test.task.ActivityC(singleTask)

TASKID 有变化 新TASKID

希望前辈帮我理清这个基础性的东西,同时也帮助更多新手 对此概念进行进一步的强化。

关于Activity启动模式(launchMode)和intent设置测试后 发现和网上说的不符 是不是我错了 求解的更多相关文章

  1. Android 之Activity启动模式(二)之 Intent的Flag属性

    首页博客链接关于我留言板 前面介绍了通过launchMode设置Activity的启动模式.本章接着介绍Activity的启动模式相关内容,讲解的内容是Intent与启动模式相关的Flag,以及and ...

  2. 深入Activity,Activity启动模式LaunchMode完全解析

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53221384本文出自[DylanAndroid的博客] 在平时的开发中,我们可 ...

  3. activity启动模式launchMode区别和优化

    初学android的开发人员,可能会经常忽略这个重要的设置. Activity一共有以下四种launchMode:1.standard2.singleTop3.singleTask4.singleIn ...

  4. Android组件体系之Activity启动模式解析

    本文主要分析Activity的启动模式及使用场景. 一.Activity启动模式浅析 1.standard 标准模式,系统默认的启动模式.在启动Activity时,系统总是创建一个新的Activity ...

  5. Activity启动模式 及 Intent Flags 与 栈 的关联分析

     http://blog.csdn.net/vipzjyno1/article/details/25463457    Android启动模式Flags栈Task   目录(?)[+] 什么是栈 栈 ...

  6. 【转】Activity启动模式 及 Intent Flags 与 栈 的关联分析

    http://blog.csdn.net/vipzjyno1/article/details/25463457    在学习Android的过程中,Intent是我们最常用Android用于进程内或进 ...

  7. Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式。

    原文:Android Activity 的四种启动模式 lunchMode 和 Intent.setFlags();singleTask的两种启动方式. Android Activity 的四种启动模 ...

  8. Activity启动模式

    ------siwuxie095 共4种启动模式:standard singleTop singleTask singleInstance 1.标准启动模式(standard) 也即默认的启动模式 ( ...

  9. Android中Activity启动模式详解

    在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启动模式决定了Activity的启动运行方式. An ...

随机推荐

  1. Luogu 5017 NOIP2018普及组T3 摆渡车 (斜率优化 + 必要的转移进行剪枝)

    题意: 有 n 名同学要乘坐摆渡车从人大附中前往人民大学,第 i 位同学在第 ti​ 分钟去 等车.只有一辆摆渡车在工作,但摆渡车容量可以视为无限大.摆渡车从人大附中出发. 把车上的同学送到人民大学. ...

  2. 学习javascript中的事件——事件流

    事件概念: HTML中与javascript交互是通过事件驱动来实现的,例如鼠标点击事件onclick.页面的滚动事件onscroll等等,可以向文档或者文档中的元素添加事件侦听器来预订事件.想要知道 ...

  3. Python Jquery学习

    jquery调用方法: $(css的选择器).操作函数 语法格式: 操作函数: html      修改内容 点击button键后,jquery就会变为bootstrap 当然里面也可以进行判断,实现 ...

  4. H5系列之地理位置(必知必会)

    H5之地理位置必知必会     [02]概念   规范地址:http://www.w3.org/TR/geolocation-API/     HTML5 Geolocation(地理定位)用于定位用 ...

  5. iphone数据库(sqlite3)的用法操作oc,xcode

    首先你在用之前要在项目中加入libsqlite3.dylib 1.定义模型 [cpp] #import <Foundation/Foundation.h>   #import " ...

  6. xfce-OpenVAS

    OpenVAS开源风险评估系统部署方案   OpenVAS,即开放式漏洞评估系统,是一个用于评估目标漏洞的杰出框架.功能十分强大,最重要的是,它是“开源”的——就是免费的意思啦- 它与著名的Nessu ...

  7. Android刷新页面

    代码改变世界 Android刷新页面 继承 extends Activity /*** 调用onCreate(), 目的是刷新数据,  从另一activity界面返回到该activity界面时, 此方 ...

  8. 转载: LINK : fatal error LNK1104: 无法打开文件“mfc71.lib”的原因又一例

    转载地址:http://blog.csdn.net/mxclxp/article/details/8196142 LINK : fatal error LNK1104: 无法打开文件“mfc71.li ...

  9. *AtCoder Regular Contest 096E - Everything on It

    $n \leq 3000$个酱,丢进拉面里,需要没两碗面的酱一样,并且每个酱至少出现两次,面的数量随意.问方案数.对一给定质数取模. 没法dp就大力容斥辣.. $Ans=\sum_{i=0}^n (- ...

  10. 球形空间产生器 BZOJ 1013

    球形空间产生器 [问题描述] 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便 ...