Android运行时ART加载类和方法的过程分析讲解
Android运行时ART加载类和方法的过程分析
在前一篇文章中,我们通过分析OAT文件的加载过程,认识了OAT文件的格式,其中包含了原始的DEX文件。既然ART运行时执行的都是翻译DEX字节码后得到的本地机器指令了,为什么还需要在OAT文件中包含DEX文件,并且将它加载到内存去呢?这是因为ART运行时提供了Java虚拟机接口,而要实现Java虚拟机接口不得不依赖于DEX文件。本文就通过分析ART运行时加载类及其方法的过程来理解DEX文件的作用。
在前面这篇文章的最后,我们简单总结了ART运行时查找类方法的本地机器指令的过程,如图1所示:
为了方便描述,我们将DEX文件中描述的类和方法称为DEX类(Dex Class)和DEX方法(Dex Method),而将在OAT文件中描述的类和方法称为OAT类(Oat Class)和OAT方法(Oat Method)。接下来我们还会看到,ART运行时在内部又会使用另外两个不同的术语来描述类和方法,其中将类描述为Class,而将类方法描述为ArtMethod。
在图1中,为了找到一个类方法的本地机器指令,我们需要执行以下的操作:
1. 在DEX文件中找到目标DEX类的编号,并且以这个编号为索引,在OAT文件中找到对应的OAT类。
2. 在DEX文件中找到目标DEX方法的编号,并且以这
您可能关注的文档
- 动物简笔画大全要点.ppt
- altiumdesigner教学PPT_第2章讲解.ppt
- 动画概论第一讲要点.ppt
- Altium_designer元件对照讲解.doc
- 动词时态语态专讲要点.doc
- 动车组应知应会手册要点.doc
- 动荷载问题要点.ppt
- 动物的“睡眠”要点.ppt
- 动车组司机培训1要点.ppt
- 动物过冬小学语文要点.ppt
- 2026住宅小区消防改造建筑方案(执行版,含总平面布置/疏散流线/消防节点).docx
- 2026制造工厂人力资源规划与排班配置方案(执行版,含排班模型/岗位编制/缺口清单).docx
- 2026人工智能企业内训实施计划(执行版,含培训安排/案例任务/考核清单).docx
- 2026仓储物流园总平面布置建筑方案(执行版,含车流组织/仓位分区/消防间距).docx
- 2026老旧办公楼节能改造建筑方案(执行版,含围护结构/节能设备/施工节点).docx
- 2026Python文件批量重命名与归档脚本方案(执行版,含文件样例/处理脚本/归档规则).docx
- 2026企业会计准则长期股权投资核算指南(执行版,含成本法分录/权益法分录/减值检查表).docx
- 2026社区养老服务中心项目可行性研究报告(执行版,含服务需求/建设内容/运营预算).docx
- 2026物流园冷链仓储项目可行性研究报告(执行版,含选址分析/设备配置/财务测算).docx
- 2026企业会计准则现金流量表编制口径手册(执行版,含分类口径/填报模板/勾稽检查表).docx
最近下载
- WW∕T 0006-2023 古代壁画现状调查规范.pdf
- 动物园动物保护基础管理手册(标准版).doc VIP
- 2024年国家医疗质量安全及各专业质控工作改进目标实施方案.doc VIP
- HJ 75-2017 固定污染源烟气(SO2、NOX、颗粒物)排放连续监测技术规范.pdf VIP
- 2026最新全国应急管理普法知识竞赛试题库及答案.docx VIP
- 动物园动物丰容设计实施手册.docx VIP
- 2026年山东军转考试真题及答案.docx VIP
- 县人民医院202年国家医疗质量安全改进目标实施方案.docx VIP
- 七年级数学下册期末试卷及答案【可打印】.doc VIP
- 七年级数学下册期末试卷(可打印).doc VIP
原创力文档

文档评论(0)