App进程与AMS之间的通信方式
App与ActivityManagerService之间是通过Binder通信的,具体涉及到的类调用关系通过几张图片总结如下。
APP如何调用AMS方法
AMS如何调用App方法
总结APP与AMS通信框架如下
我们来理下IActivityManager ActivityManager、ActivityManagerService、ActivityManagerNative、ActivityManagerProxy的关系。
(1)IActivityManager:是一个接口类,定义了很多接口
(2)ActivityManager:是暴露给APP的接口API,在APP进程中作为jar包API调用的。
(3)ActivityManagerService:Android系统组件的核心服务,继承了ActivityManagerNative类
(4)ActivityManagerNative:一个抽象的类,继承Binder类,实现IActivityManager接口,由于继承了Binder类,他就拥有了远程通信的条件。实现了IActivityManager接口,他能够得到Act