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标识。

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

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

(0)
上一篇 2022年7月17日 下午12:46
下一篇 2022年7月17日 下午1:00


相关推荐

  • 找唯一不出现三次而出现1次的数子O(n)位运算算法[通俗易懂]

    找唯一不出现三次而出现1次的数子O(n)位运算算法

    2022年1月25日
    46
  • 池化层的作用[通俗易懂]

    maxpooling是CNN当中的最大值池化操作,其实用法和卷积很类似tf.nn.max_pool(value,ksize,strides,padding,name=None)参数是四个,和卷积很类似:第一个参数value:需要池化的输入,一般池化层接在卷积层后面,所以输入通常是featuremap,依然是[batch,height,width,channels]这样的shape第二个参数ksize:池化窗口的大小,取一个四维向量,一般是[1,height,width,1],

    2022年4月10日
    53
  • html语言代码超链接,html 超链接 word html超链接代码

    html语言代码超链接,html 超链接 word html超链接代码【网页用word打开】可以直接打开word文件的超链接在网页中,怎么样…“打开/保存”是因浏览者的浏览器而异的,假如浏览者的电脑没有装word软件,那么,无论什么情况,都是打不开的,你只能选择保存(选择打开的话,电脑会让你选择使用什么软件来打开);如果浏览者的电脑装了word软件,那么如果电脑的安全级别高一些,一样会提示“打开/保存”,为的是防止直接打开病毒文件。要达到你要的效果,基本不可能,…

    2022年7月12日
    18
  • 异步编程中的BeginInvoke和EndInvoke

    异步编程中的BeginInvoke和EndInvoke如果委托对象的调用列表中只有一个方法 引用方法 就可以异步执行这个方法 通过调用委托类特有的两个方法 BeginInvoke 和 EndInvoke 去执行 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp BeginInvoke 和 EndInvoke nbsp 的三种模式 nbsp BeginInvoke 方法的参数列表 nbsp 1 引用方法所需要的参数 nbsp nbsp 2 两个额外的参数 callback 参数和 state 参数 nbsp

    2025年11月12日
    3
  • PHP开发之-微信网页授权获取用户基本信息

    PHP开发之-微信网页授权获取用户基本信息如何通过网页授权获取用户基本信息 国家 省 市 昵称 相关信息必要条件 1 公众号认证 2 有网页授权获取用户基本信息的权限接口注意 最近有朋友说 在公众平台申请的测试号 会出现无法取到用户信息 换到认证的公众账号就正常了 填写授权回调页面的域名登录公众平台 gt 开发者中心 gt 接口权限表找到 nbsp 网页授权获取用户基本信息 nbsp nbsp 然后修改 gt 填写你的域名 如下

    2026年3月19日
    2
  • jedis连接redis集群_redis集群问题

    jedis连接redis集群_redis集群问题启动redis集群搭建redis集群,搭建具体过程如下http://blog.csdn.net/lucky_ly/article/details/78703102启动redis集群。测试集群搭建在虚拟机的Linux系统下,客户机访问采用的windows环境下。默认情况下redis只允许本机进行访问的。但我们为了方便测试,将redis.conf的bind改为对应的Linux…

    2022年10月14日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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