在ActivityThread.java类的performLaunchActivity(ActivityClientRecord r, Intent customIntent) 函数中r.packageInfo是loadedApk的对象,我们进入loadedApk.java查看makeApplication()函数
图中红色框中的代码,调用了Instrumentation.java的newApplication()函数,而图中蓝色框中的代码调用了Application类的onCreate()函数。
进入Instrumentation类查看newApplication()函数
该函数调用了AppComponentFactory类的instantiateApplication()函数
查看instantiateApplication()函数
在该类中通过ClassLoader动态加载Application类,至此Application的创建完毕