整理三个具体的android启动场景

情景一:从 Launcher 页面点击 App 图标启动一个全新的 App(冷启动)。

情景二:在应用内从 Activity A 跳转到 Activity B(应用内跳转)。

情景三:启动 App 后,按 Home 键回到 Launcher ,再点击 App 图标(热启动)。

 

理解Android系统中的ActivityTaskManagerService(ATMS)的代码确实非常复杂,因为它涉及许多系统组件的交互和状态管理。为了帮助理解,下面我将从三个具体场景入手,简化ATMS在这些场景中的工作流程。

情景一:从Launcher页面点击App图标启动一个全新的App(冷启动)

冷启动是指应用进程尚未启动的情况下,用户点击Launcher图标启动应用的过程。此时,Android系统需要创建一个新的应用进程,并启动目标Activity。

  1. 启动过程

    • 用户点击App图标后,Launcher通过startActivity发起一个Intent。
    • 这个Intent会传递到ActivityTaskManagerService (ATMS) 处理。ATMS负责管理和调度所有应用的Activity栈。
    • ATMS检查应用进程是否存在。在冷启动情况下,应用进程不存在,因此ATMS需要创建一个新的应用进程。
  2. 应用进程创建

    • ATMS调用A
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呆咖啡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值