我们经常遇到这样的场景:关闭当前 Activity 然后启动一个新 Activity,比如但我们从 Spash 开屏页跳转到 Main 的时候。

此时,代码一般会这样写:

startActivity(intent)
finish()

但你有没有想过如果掉换了两者顺序会是怎样?

finish()
startActivity(intent)

从行为上看似如没有什么变化,但实际系统处理上有细微区别,Splash 作为 Activity 栈里唯一的对象被 finish 之后,启动的新 Activity 被添加 FLAG_ACTIVITY_NEW_TASK

这可以在 onCreate 中测试验证,

override fun onCreate(savedInstanceState: Bundle?) {// ...if (intent.flags and Intent.FLAG_ACTIVITY_NEW_TASK != 0) {// 先 finish 再 startActivity 时命中条件}
}

作为结论,一般来说先 startActivity 之后再 finish 是比较安全的。

Android 小知识:startActivity 与 finish 的调用顺序相关推荐

  1. Android小知识10则(上)(2018.8重编版)

    Android小知识10则(下) 目录 前言 横竖屏锁定 不同分辨率的图标 将字符串写在资源文件中 为AlertDialog设置点击监听 ProgressDialog了解一下 最后 前言 Androi ...

  2. Android小知识10则(下)

    Android小知识10则(上) github传送门 注: 在目录中点击可以跳转到具体代码页 目录 Chronometer和CountDownTimer计时器 Chronometer的使用 Count ...

  3. android小知识(1)

    1.Android名称的由来. 大家可能不知道,Android一词的本义原指"机器人",它也是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操 ...

  4. android小知识之意图(intent)

    android中的意图有显示意图和隐式意图两种, 显示意图要求必须知道被激活组件的包和class 隐式意图只需要知道跳转activity的动作和数据,就可以激活对应的组件 A 主activity  B ...

  5. Android小知识-Fragment

    转载请标明出处:[顾林海的博客] 个人开发的微信小程序,目前功能是书籍推荐,后续会完善一些新功能,希望大家多多支持! ##前言 今天还是总结下Android中的小知识点Fragment,Fragmen ...

  6. Android 小知识

    1.判断sd卡是否存在 boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environmen ...

  7. android byte转string_唠点儿你不一定知道的Android小知识

    本文作者 作者:郑卫超 链接: https://vchao.blog.csdn.net/article/details/104349868 本文由作者授权发布. 1. YYYY 和 yyyy 不一样 ...

  8. Android小知识-了解下Android系统的显示原理

    本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众 在Android系统中应用 ...

  9. Android小知识-单例引起的内存泄漏

    本平台的文章更新会有延迟,大家可以关注微信公众号-顾林海,包括年底前会更新kotlin由浅入深系列教程,目前计划在微信公众号进行首发,如果大家想获取最新教程,请关注微信公众 单例模式在Android开 ...

最新文章

  1. POJ 2528 Mayor's posters(线段树)
  2. 关于深度残差收缩网络,你需要知道这几点
  3. HTML(二):表格元素
  4. 深入Linux PAM体系结构
  5. 做向量召回 All You Need is 双塔
  6. 初始化资源管理器 winform
  7. 大型网站架构演进(4)使用应用服务器集群
  8. php笔记--php安装
  9. 推荐一款强大的国产开源监控系统!
  10. c语言饭卡管理系统_C语言饭卡管理系统毕业设计(含毕业论文、程序源码)论文字数:15422字 C0004-C语言毕业设计下载-华软网...
  11. 火狐浏览器下载网页视频
  12. 不会画关系图?5 类图形为你展示—变量间相互关系—提供示例与完整代码-ggplot2-geom_point-ComplexHeatmap-pheatmap-ggpairs
  13. 关于IP地址、网络号、主机号、子网掩码之间的关系
  14. 在会计研究中使用Python进行文本分析
  15. c#大批量Exce数据l导入数据库
  16. 博弈论—NP图法kiki's game HDU - 2147
  17. WCF:学习Artech大哥的入门程序
  18. C++ Primer Plus 第四(二,三)章答案 复合类型
  19. C语言之使用memcpy函数实现小数组数据不覆盖地复制到大数组
  20. 协作工具:即时设计(第三方UI设计软件)

热门文章

  1. 团队项目(2.4) -- 《基于瞳孔检测的注意力检测研究》文献综述
  2. 【PSO三维路径规划】粒子群算法融合鸡群算法多无人机三维路径规划【含Matlab源码 1792期】
  3. 什么是readout function/readout函数
  4. [转NN网]求求百度给网站一点生存的空间吧!
  5. 流弊了!用Python分分钟把微信头像变卡通,油画,素描!
  6. 信号的反射(振铃、台阶、回勾、尖峰毛刺)
  7. 阿里短信服务 JAVA
  8. 腾讯入股山东福瑞达生物,投前估值36亿元,再次加码医美赛道
  9. 力扣 648. 单词替换
  10. 鸿蒙测试机型微博,华为多款机型开启鸿蒙尝鲜:微博已适配 HarmonyOS 小尾巴