而deliverToCurrentTopIfNeeded()方法则如下图所示 。

文章插图
mLaunchFlags和mLaunchMode , 无法满足条件 , 导致dontStart为false , 无缘
deliverNewIntent() 。
至此 , onNewIntent()的问题得到解答 。
五、结语通过一系列场景假设 , 我们发现了许多出乎意料的现象:
- 文档提到FLAG_ACTIVITY_NEW_TASK等价于singleTask , 与事实并不完全如此 , 只有与其他flag搭配才能达到相似的效果 。这一flag的注释非常片面 , 甚至会引发误解 , 单一因素无法决定整体表现 。
- 官方文档提到
START_DELIVERED_TO_TOP会将新的Intent传递给顶层Activity , 但事实上 , 并不是每一种START_DELIVERED_TO_TOP都会把新的Intent重新分发 。 - 同一个栈底Activity , 前后两次都通过action或都通过setClassName跳转到时 , 第二次跳转竟然会失败 , 而两次用不同方式跳转时 , 则会成功 。
- 单纯使用FLAG_ACTIVITY_NEW_TASK时 , 跳栈底Activity和跳同栈内其他Activity的效果大相径庭 。
在面对栈相关的编码时 , 开发者务必要想清楚 , 承担新开应用栈的Activty在应用全局承担怎样的使命 , 要对Task历史、flag属性、launchMode属性、Intent内容等全面评估 , 谨慎参考官方文档 , 才能避免栈陷阱 , 达成理想可靠的效果 。
推荐阅读
- 沈月|跨国旅行综艺嘉宾曝光,8位中韩人气明星!沈月&车银优引爆期待
- 大裁员和ChatGPT来袭,IT行业员工如何"活下去"
- |和田玉&翡翠,谁更有价值?
- 袁姗姗|"绿茶"袁姗姗:倒贴陈晓污蔑张小斐,遭于正内涵被赵英俊遗书曝光
- 英文版的<不要再来伤害我>歌曲名叫什么 不要再来伤害我张振宇
- 想家的时候歌词和简谱搜索 求阎维文<想家的时候>的歌词
- 丙烯酸(酯)类共聚物AMP盐 丙烯酸酯共聚物
- 详解Apache Sentry->Ranger平滑升级方案
- 天珠|提起老珠子都说的"风化纹"到底是个啥 ?
- 我们都一样歌词完整版;张杰<我们都一样>歌词?
