Android APP与AMS交互
概念:
1、ActivityThread: 我们平常所说的主线程
2、ApplicationThread : ActivityThread的内部类,主要接受AMS发送的指令。
3、ActivityManagerNative:AMS在APP进程中的代理,APP中StartActivity的指令是直接发送给AMS在APP端的代理,然后通过该代理,通过Binder的方式,将数据发送给AMS,AMS再进一步执行指令。
4、ApplicationThreadProxy:APP端ApplicationThread在AMS端的代理对象。AMS想要对APP端操作,需要通过该代理对象实现。同样,通过Binder的方式,将数据、指令从ApplicationThreadProxy传递到ApplicationThread。然后ApplicationThread通过Handler的方式,将数据send到ApplicationThread的外部类ActivityThread,执行响应的方法。
调用过程如下: