android Application的创建流程

在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的创建完毕

你可能感兴趣的:(android Application的创建流程)