1、背景
复习的时候看到这样一个问题,这是插件化的一个知识点,实现一下加深印象
2、Activity启动流程简介
当调用startActivity()时会通过Instrumentation调用AMS去启动Activity,AMS经过一系列的处理后通知ApplicationThread创建Activity,ApplicationThread又用Handler(即mH)把消息转到主线程,即sendMessage(LAUNCH_ACTIVITY);之后Instrumentation通过反射创建Activity,调用该Activity的生命周期(上述流程可能在各个android版本有差异)。
2、Hook入口
通过上述流程可知,最后启动Activity时会发送Handler的LAUNCH_ACTIVITY消息(api 27)
public final class ActivityThread {