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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 前言 在《从底层分析PathClassLoader和DexClassLoader的区别,基于Android4.4》...
    Mars_M阅读 7,647评论 0 5
  • 本文重点介绍应用程序的启动过程,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细...
    天宇sonny阅读 3,146评论 1 0
  • 一个普通的周六,和平常一样,也和平常不太一样。 上午日子过得比较平静。尽管有一点小波折,但大宝还是完成了一份语文试...
    发芽的梦阅读 2,405评论 1 3
  • 2017年5月21日 我回来了,心情百感交集,最在意的依旧是你。 路过校门的咖啡店,它已不是从前的样子...
    披头士过马路阅读 1,328评论 0 0
  • “我与恐琼楼玉宇,只待你千年万里……”伴随着歌声,我的目光落在了街头的一角,这是一种什么样的声音,压的也太好...
    顾佳浩阅读 2,920评论 0 1

友情链接更多精彩内容