有一篇文章分析的很好 # 3分钟看懂Activity启动流程,这篇文章是17年的,所以分析的源码是Android 7或者更早的版本。
Android 8有一些改动,比如在Activity中的attch方法中的IActivityManager mgr
Android 7是
final IActivityManager mgr = ActivityManagerNative.getDefault();
Android 8之后是
final IActivityManager mgr = ActivityManager.getService();
用的是AIDL的实现方式
下面文章分析的很好