FLAG_ACTIVITY_NEW_TASK与FLAG_ACTIVITY_CLEAR_TOP的理解纠正「建议收藏」

FLAG_ACTIVITY_NEW_TASK与FLAG_ACTIVITY_CLEAR_TOP的理解纠正「建议收藏」1.单独的FLAG_ACTIVITY_NEW_TASK并不等价于启动模式singleTask,它仅表示寻找activity所需的任务栈压入,(即TaskAffinity指定的任务栈,TaskAffinity默认为应用包名)2.FLAG_ACTIVITY_NEW_TASK+FLAG_ACTIVITY_CLEAR_TOP也不等价于启动模式singleTask3.在FLAG_ACTIVITY_…

大家好,又见面了,我是你们的朋友全栈君。

1.单独的FLAG_ACTIVITY_NEW_TASK并不等价于启动模式 singleTask,它仅表示寻找activity所需的任务栈压入,(即TaskAffinity指定的任务栈,TaskAffinity默认为应用包名)

2.FLAG_ACTIVITY_NEW_TASK+FLAG_ACTIVITY_CLEAR_TOP也不等价于启动模式singleTask

3.在FLAG_ACTIVITY_NEW_TASK+FLAG_ACTIVITY_CLEAR_TOP的情况下,AndroidManifest.xml中设置activity的启动模式为standardsingleTask时activity入栈方式是不一样的。分为如下3个情况:

  3.1当启动模式为standard时,如果activity所需的栈中已经存在该activity的实例了,那么这个实例连同它之上的activity都要出栈,然后再新建一个activity实例入栈。
  3.2当启动模式为singleTask时,如果activity所需的栈中已经存在该activity的实例了,那么系统会调用该实例的onNewIntent()方法,且只将该实例之上的activity出栈。
  3.3如果activity所需的栈中不存在该activity的实例,则不论启动模式为standard还是singleTask,都是新建activity实例直接入栈。

4.AndroidManifest.xml中设置activity的启动模式为singleTask时,则不论是FLAG_ACTIVITY_NEW_TASK+FLAG_ACTIVITY_CLEAR_TOP还是只有FLAG_ACTIVITY_NEW_TASK效果一样,因为singleTask模式中默认就带有FLAG_ACTIVITY_CLEAR_TOP标识。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160757.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MySQL自增主键值回溯问题

    MySQL自增主键值回溯问题平时我们使用MySQL时,通常每一个表都会有一个自增主键ID,每新增一条数据,ID值就会自增1。但在8.0之前版本的MySQL中,这个自增值会存在一个回溯的问题。例如,在一个新表中插入三条主键为1、2、3的数据行,这时候用SHOWCREATETABLE命令查看该表的AUTO_INCREMENT的值是4,这是没问题的。然后把ID=3的数据行删掉,再次查询AUTO_INCREMENT的值,依然是4,这也是没问题的。但如果重启一下MySQL,这个值就会变回3,而不是4,发生了回溯。这是因为AUTO_I

  • Js中sort()方法

    Js中sort()方法

  • OCX控件数字签名图文教程[通俗易懂]

    OCX控件数字签名图文教程[通俗易懂]这段时间做了一个B/S下套打的控件(过几天整理一下放到博客上来),控件测试完成,但是因为没有数字证书,IE如果不设置信任区域和等级的话,会直接被阻止下载安装(我不期望客户能熟练地改IE设置),但是数字证书价格昂贵,暂不考虑,看到cnblogs上一篇文章后深受启发,照着搞了一个测试用的数字签名,但是这篇文章上的OS貌似是win2000,IE5,我有必要在win7下给大家做个演示:首先,下载

  • 黑客初学者刷屏技巧_初学者,这些技巧将加速您的编码

    黑客初学者刷屏技巧_初学者,这些技巧将加速您的编码黑客初学者刷屏技巧Whenyoujuststartoutyourprogrammingjourney,therearesomanyshinytoolsandtechnologiestoexplore,youalmostdon’tknowwheretostart.Fortunately,therearenumerousguidesonho…

  • rider2021 激活码【2021免费激活】

    (rider2021 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~BC…

  • linux安装svn服务器的两种方式(转载)「建议收藏」

    linux安装svn服务器的两种方式(转载)「建议收藏」操作环境:CentOS7.264位第一种:采用压缩包安装:比如你们公司服务器上安装软件有自己的规定,一般会采用压缩包安装。第一步:SVN服务器端压缩包下载下载地址:http://mirrors.cnnic.cn/apache/subversion/我下载的是subversion-1.8.19版本,下载好的压缩包置于目录/usr/local/java/svn下(根据大家实际需要自行选择存放目录)。第二步:解压,进入解压后的文件在/usr/local/java/svn目录下执行下面两个命令:

    2022年10月17日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号