Android面试题之ActivityManagerService的启动流程

本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点

SystemServer启动
  1. 创建SystemContex 用于加载系统相关的资源,比如theme,android命名空间下的资源等
  2. 创建引导服务,安装器Installer服务, AMS就属于引导服务,还有电源管理服务PMS
  3. 启动核心服务和其他服务,总共得有80多个以上
  4. AMS启动也分为几个阶段,类似生命周期
AMS启动和初始化
  1. SystemServer通过startService创建Lifecycle对象,
  2. Lifecycle里构造方法里通过new创建AMS
  3. AMS 会创建“android.ui”线程、创建ActiveServices管理activity、创建ActivityStackSupervisor对象管理activity栈
  4. AMS会创建前台广播和后台广播队列、provider的Map等
  5. 电量统计服务、进程相关服务
  6. VrConroller虚拟现实相关
  7. mActivityConroller
  8. RecentTask,最近的任务列表
  9. ClientLifeCycleManager API28之前是没有,用来控制activity的生命周期
  10. watchDog守护进程(继承自Thread是一个线程)
  11. 移除所有的应用进程(AMS刚刚启动),启动电池服务
12.setSystemProcess

mActivityManagerService.setSystemProcess 设置System

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值