An application startup method and device, computer storage medium and equipment include: obtaining application startup instructions; locating the address of virtual machine instances corresponding to application startup instructions; locating the address of class validation mode fields in virtual machine instances according to the address of virtual machine instances; modifying the value of the address of class validation mode fields to be used for jumping when loading classes. Class validation value; call class loading function, load the class corresponding to the application startup instruction through class loading function and according to the value indicated by the address of the class validation mode field. The scheme based on the embodiments provided in this application can improve the class loading speed, thereby improving the application startup speed and reducing the impact on the use of business logic.
【技术实现步骤摘要】
应用启动方法及装置、计算机存储介质及设备
本专利技术涉及计算机信息处理
,特别涉及一种应用启动方法及装置、计算机存储介质及设备。
技术介绍
随着移动互联网的发展,Android(安卓)应用市场竞争愈发激烈。应用开发者不仅要不断开发新功能满足用户需求,还要不断提升应用的性能以便为用户提供更好的体验,其中,应用启动速度为应用的一个重要性能指标。对于大型Android应用,其业务逻辑多,启动时需要执行的逻辑多,加大了优化启动速度的难度。目前,应用开发者提出的优化应用启动的方案主要通过业务逻辑延迟加载,以减少启动过程中CPU(中央处理器)以及IO(输入输出)等系统资源竞争,加快启动相关逻辑的执行。然而,目前提升Android应用的启动速度的方案,需要将部分业务逻辑延迟启动来提高应用的启动速度,而延迟启动的部分业务逻辑实际上没有加速启动或者启动更慢,导致延迟启动的部分业务逻辑的使用受到影响。
技术实现思路
基于此,有必要针对目前应用启动加速影响导致业务逻辑使用受到影响的问题,提出一种应用启动方法及装置、计算机存储介质及设备。据此,本实施例采用以下技术方案:一种应用启动方法,应用于终端,包括以下步骤:获取应用启动指令;查找所述应用启动指令所对应的虚拟机实例的地址;按所述虚拟机实例的地址,查找所述虚拟机实例中类验证模式字段的地址;将所述类验证模式字段的地址所指向的值,修改为用于在加载类时跳过类验证的值;调用类加载函数,通过所述类加载函数并根据所述类验证模式字段的地址所指向的值,加载所述应用启动指令所对应的类。一种应用启动装置,应用于终端,包括:指令获取模块,用于获取应 ...
【技术保护点】
1.一种应用启动方法,其特征在于,应用于终端,包括以下步骤:获取应用启动指令;查找所述应用启动指令所对应的虚拟机实例的地址;按所述虚拟机实例的地址,查找所述虚拟机实例中类验证模式字段的地址;将所述类验证模式字段的地址所指向的值,修改为用于在加载类时跳过类验证的值;调用类加载函数,通过所述类加载函数并根据所述类验证模式字段的地址所指向的值,加载所述应用启动指令所对应的类。
【技术特征摘要】
1.一种应用启动方法,其特征在于,应用于终端,包括以下步骤:获取应用启动指令;查找所述应用启动指令所对应的虚拟机实例的地址;按所述虚拟机实例的地址,查找所述虚拟机实例中类验证模式字段的地址;将所述类验证模式字段的地址所指向的值,修改为用于在加载类时跳过类验证的值;调用类加载函数,通过所述类加载函数并根据所述类验证模式字段的地址所指向的值,加载所述应用启动指令所对应的类。2.根据权利要求1所述的应用启动方法,其特征在于,所述按所述虚拟机实例的地址,查找所述虚拟机实例中类验证模式字段的地址的步骤包括:按所述虚拟机实例的地址,查找所述虚拟机实例中指向预设固定值的预设字段的地址;根据所述预设字段的地址,以及预设字段与类验证模式字段的相对位置关系,确定所述类验证模式字段的地址。3.根据权利要求2所述的应用启动方法,其特征在于,所述按所述虚拟机实例的地址,查找所述虚拟机实例中指向预设固定值的预设字段的地址的步骤包括:初始化临时指针,所述临时指针指向所述虚拟机实例的地址;将所述临时指针加1;读取所述临时指针指向的地址所指向的值;当所述临时指针指向的地址所指向的值与所述预设固定值不同时,返回所述将所述临时指针增加1的步骤;当所述临时指针指向的地址所指向的值与所述预设固定值相同时,将所述临时指针指向的地址作为所述预设字段的地址。4.根据权利要求3所述的应用启动方法,其特征在于,所述将所述临时指针加1的步骤之后还包括:记录所述临时指针增加的次数;当所述临时指针指向的地址所指向的值与所述预设固定值不相同,且所述增加的次数小于预设次数时,返回所述将所述临时指针增加1的步骤;当所述临时指针指向的地址所指向的值与所述预设固定值不相同,且所述增加的次数达到所述预设次数时,停止对所述预设字段的地址的查找。5.根据权利要求1所述的应用启动方法,其特征在于,所述将所述类验证模式字段的地址所指向的值,修改为用于在加载类时跳过类验证的值的步骤包括:当所述类验证模式字段的地址所指向的值为默认值时,将所述类验证模式字段的地址所指向的值修改为所述用于在加载类时跳过类验证的值;所述默认值在所述虚拟机实例启动时配置且用于触发类验证。6.根据权利要求1所述的应用启动方法,其特征在于,所述查找所述应用启动指令所对应的虚拟机实例的地址的步骤包括:调用文件打开函数打开虚拟机核心动态库,获得所述虚拟机核心动态库的句柄;调用地址获取函数并根据所述虚拟机核心动态库的句柄,在所述虚拟机核心动态库中,查找所述应用启动指令所对应的虚拟机实例的地址。7.根据权利要求1-6中任意一项所述的应用启动方法,其特征在于,所述查找所述应用启动指令所对应的虚拟机实例的地址的步骤之前,还包括步骤:响应所述应用启动指令,获取虚拟机版本号;当所述虚拟机版本号对应为Dalvik虚拟机时,进入所述查找所述应用启动指令所对应的虚拟机实例的地址的步骤。8.一种应用启动装置,其特征在于,应用于终端,包括:指令获取模块,用于获取应...
【专利技术属性】
技术研发人员:闫石,石延龙,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。