Android系统启动流程
Copy On Write
写入时复制(COW),有时也称为隐式共享,是一种计算机管理中用来有效地对可修改资源执行“复制”操作的资源管理技术。
启动流程源码
AMS启动流程
看源码,细节上不要死磕,除非基于源码进行开发时。
看完源码,基于对源码的理解,Hook
SystemServer进程中启动了一系列的系统服务,ActivityManagerService是其中最核心的服务之一。它与四大组件的启动、切换、调度及应用程序的管理和调度息息相关,其重要性不言而喻。
AMS的启动过程(Android9.0)主要包括如下两个方法:
SystemServer.java中部分源码如下:
public void run(){...startBootstrapService();//创建并启动AMS服务,同时执行AMS启动后的一些初始化工作startOtherServices();// 进入下个阶段的一些准备工作。...
}
startBootstrapService
private void startBootstrapServices(@NonNull TimingsTraceAndSlog t){// 启动AMS服务mActivityManagerService = ActivityManagerService.Lifecycle.startService(mSystemServiceManager, atm);// 设置mActivityManagerService.setSystemServiceManager(mSystemServiceManager);// 设置mActivityManagerService.setInstaller(installer);
}