Activity堆栈管理

前言

AMS

AMS(Activity Manager Service)是系统进程的一部分,是 Binder Server,用于管理、记录、查询运行的组件信息。
AMS 是管理Activity和组件运行状态的系统进程,主要功能如下:

  1. 组件状态管理(四大组件)
  2. 组件状态查询
  3. Task相关操作
  4. 其他操作(系统运行时信息,如内存、cpu信息,的查询等)

通过以下方法获取ActivityManager对象,进而获取相关信息。
ActivityManager ams = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);

App启动流程

Android系统是基于Linux系统的,原则上说它的应用程序并不只是apk一种,能运行在Linux系统上的应用程序通过一定的方式都能运行在Android系统上,一些系统级别的应用程序就是这种形式存在的。

通常app有两种启动途径

  1. 在Launcher中点击应用图标启动
  2. 通过startActivity启动。

启动流程

  1. AMS --> startActivity()
  2. ApplicationThread.schedulePauseActivity()ActivityThread.handlePauseActivity()
  3. WMS --> remove from window
  4. 当前Activity activityPausedcompletePauseLocked
  5. 处理启动新Activity流程,attachApplicationrealStartActivityLocked
  6. ApplicationThread.scheduleLaunchActivity()performLaunchActivity
  7. Activity.attach()Activity.onCreate
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值