AMS核心分析- AMS启动过程分析

1.Android启动流程

Android启动流程
  • init 是用户态的第一个进程

  • zygote 是Android的孵化进程

  • zygote进程启动过程
    zygote进程启动过程
  • SystemServer进程启动过程
    SystemServer进程启动过程
  • SystemServer进程处理过程
    SystemServer进程处理过程

2.AMS(ActivityManagerService)介绍

  • AMS是什么?
  1. 从java角度来看,ams就是一个java对象,实现了Ibinder接口,所以它是一个用于进程之间通信的接口,这个对象初始化是在systemServer.java 的run()方法里面
public Lifecycle(Context context) { 
    super(context); 
    mService = new ActivityManagerService(context);
 }
  1. AMS是一个服务
  • AMS是什么?
  1. 从java角度来看,ams就是一个java对象,实现了Ibinder接口,所以它是一个用于进程之间通信的
    接口,这个对象初始化是在systemServer.java 的run()方法里面
  2. AMS是一个服务
    ActivityManagerService从名字就可以看出,它是一个服务,用来管理Activity,而且是一个系统服务,
    就是包管理服务,电池管理服务,震动管理服务等。
  3. AMS是一个Binder
    ams实现了Ibinder接口,所以它是一个Binder,这意味着他不但可以用于进程间通信,还是一个线程,因为一个Binder就是一个线程。
  • AMS启动流程


    AMS启动流程

你可能感兴趣的:(AMS核心分析- AMS启动过程分析)