AMS(ActivityManagerService)本质上就是一个AIDL,通过他调用系统的底层服务,加载Activity、Service四大组件。
系统版本:Android10.0(29)
各个版本具体的执行过程可能存在差异,但是总体的流程还是一样的,都是需要两次AIDL,来和系统进行交互。
下面就来分析代码执行流程
startActivity(new Intent(MainActivity.this,MainActivity.class));
从上面这行代码开始:下面是依次执行的流程图

其中有 两次AIDL调用的过程
1、是IActivityTaskManager调用startAc

本文深入剖析了Android10.0中的ActivityManagerService(AMS)工作原理,通过AIDL调用流程分析了启动Activity的两次关键交互。理解这一过程对于插件化开发至关重要,如在首次AIDL调用时需替换未注册的插件Activity为代理Activity,而在ActivityThread处理消息时恢复真实Activity。由于Android版本差异,插件化开发需面对兼容性挑战。
最低0.47元/天 解锁文章
712

被折叠的 条评论
为什么被折叠?



