发明名称 |
类加载方法及装置 |
摘要 |
本公开是关于一种类加载方法及装置。该方法包括:根据应用程序的APK文件中的入口类建立映射文件,若在将映射文件映射至参考固定地址时失败,则将映射文件映射至与参考固定地址不同的第一地址,根据待加载的类的标识及映射表中与待加载的类的标识对应的第一偏移值及第一地址,确定待加载的类的首地址,根据待加载的类的首地址及映射表中与待加载的类的标识对应的第二偏移值确定待加载的类中存储其所引用的类首地址的地址,并将地址中存储的值修改为第一地址与参考固定地址的差值加上地址中存储的值之后的值,初始化待加载的类,实现了在不影响操作系统稳定性的情况下实现灵活加载应用程序定义的类,从而,提高了应用程序的启动速度和运行速度。 |
申请公布号 |
CN106528255A |
申请公布日期 |
2017.03.22 |
申请号 |
CN201611175849.8 |
申请日期 |
2016.12.19 |
申请人 |
北京小米移动软件有限公司 |
发明人 |
董俊杰;张昭;贾慧星 |
分类号 |
G06F9/445(2006.01)I |
主分类号 |
G06F9/445(2006.01)I |
代理机构 |
北京同立钧成知识产权代理有限公司 11205 |
代理人 |
宋扬;刘芳 |
主权项 |
一种类加载方法,其特征在于,包括:根据应用程序的安卓安装包APK文件中的入口类建立映射文件;其中,所述映射文件中包括参考固定地址、映射表及根据所述入口类确定的类的集合中每个类的数据,所述映射表中存储有每个类的标识、所述类在所述映射文件中的存储位置与所述映射文件的第一个位置之间的第一偏移值及所述类存储其所引用的类首地址的位置与所述类的第一个位置之间的第二偏移值的映射关系,所述参考固定地址为所述映射文件待映射至的内存的地址;若在将所述映射文件映射至所述参考固定地址时失败,则将所述映射文件映射至与所述参考固定地址不同的第一地址;根据待加载的类的标识及所述映射表中与所述待加载的类的标识对应的第一偏移值及所述第一地址,确定所述待加载的类的首地址;根据所述待加载的类的首地址及所述映射表中与所述待加载的类的标识对应的第二偏移值确定所述待加载的类中存储其所引用的类首地址的地址,并将所述地址中存储的值修改为所述第一地址与所述参考固定地址的差值加上所述地址中存储的值之后的值;初始化所述待加载的类。 |
地址 |
100085 北京市海淀区清河中街68号华润五彩城购物中心二期9层01房间 |