字节码编译方法、字节码编译装置及计算机可读存储介质制造方法及图纸

技术编号:27309472 阅读:17 留言:0更新日期:2021-02-10 09:29
本公开是关于一种字节码编译方法、字节码编译装置以及计算机可读存储介质。字节码编译方法,应用于终端,字节码编译方法包括:确定终端的当前字节码编译场景。基于字节码编译场景与CPU核信息之间的对应关系,确定与当前字节码编译场景匹配的当前CPU核信息,核信息包括:核的执行能力和核的数量。根据当前字节码编译场景和当前CPU核信息,进行字节码编译。通过本公开提供的字节码编译方法,能够降低卡顿现象出现的概率,从而提升用户使用终端的使用体验。验。验。

【技术实现步骤摘要】
字节码编译方法、字节码编译装置及计算机可读存储介质


[0001]本公开涉及终端控制
,尤其涉及一种字节码编译方法、字节码编译装置以及计算机可读存储介质。

技术介绍

[0002]在安卓系统中,Java(一种计算机编程语言)作为终端应用的主要开发语言,但终端并不能直接使用该语言编程的Java字节码。因此,为便于终端能够使用,需要将Java字节码通过dex2oat程序逐个进行解析和翻译,进而得到终端能够支持使用的机器码。其中,dex2oat(dex file to oat file),是一种将dex文件优化成二进制格式的文件的工具。但使用dex2oat进行工作属于重负载的操作,需要占用大量的中央处理器(CPU)的资源,导致中央处理器在执行其他进程时,容易造成其他操作的卡顿。
[0003]相关技术中,采用减少dex2oat的编译线程数量的方式,解决dex2oat占用CPU的资源过多的问题。但当遇到需要实时转译的任务时,由于dex2oat运行的线程数目不够,仍导致终端出现卡顿,延迟等影响用户体验的问题。

技术实现思路

[0004]为克服相关技术中存在的问题,本公开提供一种字节码编译方法、字节码编译装置以及计算机可读存储介质。
[0005]根据本公开实施例的第一方面,提供一种字节码编译方法,应用于终端,所述字节码编译方法包括:确定所述终端的当前字节码编译场景。基于字节码编译场景与CPU核信息之间的对应关系,确定与所述当前字节码编译场景匹配的当前CPU核信息,所述核信息包括:核的执行能力和核的数量。根据所述当前字节码编译场景和所述当前CPU核信息,进行字节码编译。
[0006]在一实施例中,所述字节码编译场景与CPU核信息之间的对应关系采用如下方式预先确定:确定多个字节码编译场景,并确定所述多个字节码编译场景的用户感知度以及执行实时性。基于用户感知度以及执行实时性,为所述多个字节码编译场景分别分配匹配的CPU核信息,其中,若第一用户感知度高于第二用户感知度,则所述第一用户感知度被分配的CPU数量大于所述第二用户感知度被分配的CPU数量,且所述第一用户感知度被分配的CPU核执行能力强于所述第二用户感知度被分配的CPU执行能力;和/或若第一执行实时性高于第二执行实时性,则所述第一执行实时性被分配的CPU数量大于所述第二执行实时性被分配的CPU数量,且所述第一执行实时性被分配的CPU核执行能力强于所述第二执行实时性被分配的CPU执行能力。
[0007]在另一实施例中,所述确定所述终端的当前字节码编译场景,包括:基于所述终端当前执行的字节码编译,确定所述终端的当前字节码编译场景为以下场景之一或组合:安装应用场景、系统首次启动场景、系统正在启动场景、系统启动完成场景、后台空闲场景、插件编译场景、应用更新场景或者应用首次使用场景。
[0008]在又一实施例中,所述根据所述当前字节码编译场景和所述当前CPU核信息,进行字节码编译,包括:将表征所述当前字节码编译场景的场景参数添加至数据包解析和管理对象中,并通过数据包字节码编译优化服务传递至字节码编译执行线程。将表征所述当前字节码编译场景的场景参数添加至所述字节码编译执行线程的启动参数中,并采用所述当前字节码对应匹配地所述当前CPU核信息进行字节码编译。
[0009]在又一实施例中,所述字节码编译方法还包括:输出字节码编译的运行日志,所述运行日志中包括所述当前字节码编译场景和所述当前CPU核信息。获取用户基于所述运行日志输入的CPU核调整信息,并基于所述CPU核调整信息调整所述当前字节码编译场景对应的CPU核信息。
[0010]根据本公开实施例的第二方面,提供一种字节码编译装置,应用于终端,所述字节码编译装置包括:确定单元,用于确定所述终端的当前字节码编译场景,和基于字节码编译场景与CPU核信息之间的对应关系,确定与所述当前字节码编译场景匹配的当前CPU核信息,所述核信息包括:核的执行能力和核的数量。编译单元,用于根据所述当前字节码编译场景和所述当前CPU核信息,进行字节码编译。
[0011]在一实施例中,所述确定单元采用下述方式预先确定字节码编译场景与CPU核信息之间的对应关系:确定多个字节码编译场景,并确定所述多个字节码编译场景的用户感知度以及执行实时性。基于用户感知度以及执行实时性,为所述多个字节码编译场景分别分配匹配的CPU核信息,其中,若第一用户感知度高于第二用户感知度,则所述第一用户感知度被分配的CPU数量大于所述第二用户感知度被分配的CPU数量,且所述第一用户感知度被分配的CPU核执行能力强于所述第二用户感知度被分配的CPU执行能力;和/或若第一执行实时性高于第二执行实时性,则所述第一执行实时性被分配的CPU数量大于所述第二执行实时性被分配的CPU数量,且所述第一执行实时性被分配的CPU核执行能力强于所述第二执行实时性被分配的CPU执行能力。
[0012]在另一实施例中,所述确定单元采用下述方式确定所述终端的当前字节码编译场景:基于所述终端当前执行的字节码编译,确定所述终端的当前字节码编译场景为以下场景之一或组合:安装应用场景、系统首次启动场景、系统正在启动场景、系统启动完成场景、后台空闲场景、插件编译场景、应用更新场景或者应用首次使用场景。
[0013]在又一实施例中,所述编译单元采用下述方式根据所述当前字节码编译场景和所述当前CPU核信息,进行字节码编译:将表征所述当前字节码编译场景的场景参数添加至数据包解析和管理对象中,并通过数据包字节码编译优化服务传递至字节码编译执行线程。将表征所述当前字节码编译场景的场景参数添加至所述字节码编译执行线程的启动参数中,并采用所述当前字节码对应匹配地所述当前CPU核信息进行字节码编译。
[0014]在又一实施例中,所述字节码编译装置还包括:输出单元,用于输出字节码编译的运行日志,所述运行日志中包括所述当前字节码编译场景和所述当前CPU核信息。调节单元,用于获取用户基于所述运行日志输入的CPU核调整信息,并基于所述CPU核调整信息调整所述当前字节码编译场景对应的CPU核信息。
[0015]根据本公开实施例的第三方面,提供一种字节码编译装置,包括:存储器,用于存储指令;以及处理器,用于调用所述存储器存储的指令执行上述任意一种所述的字节码编译方法。
[0016]根据本公开实施例的第四方面,提供一种计算机可读存储介质,其中存储有指令,所述指令被处理器执行时,执行上述任意一种所述的字节码编译方法。
[0017]本公开的实施例提供的技术方案可以包括以下有益效果:通过本公开提供的字节码编译方法,能够基于字节码编译场景与CPU核信息之间的对应关系,针对当前字节码编译场景调用与当前字节码编译场景相对应的CPU核进行编译,降低卡顿现象出现的概率,从而提升用户使用终端的使用体验。
[0018]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0019]此处的附图被并入说明书中并构成本说明书的一部本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种字节码编译方法,其特征在于,应用于终端,所述字节码编译方法包括:确定所述终端的当前字节码编译场景;基于字节码编译场景与CPU核信息之间的对应关系,确定与所述当前字节码编译场景匹配的当前CPU核信息,所述核信息包括:核的执行能力和核的数量;根据所述当前字节码编译场景和所述当前CPU核信息,进行字节码编译。2.根据权利要求1所述的字节码编译方法,其特征在于,所述字节码编译场景与CPU核信息之间的对应关系采用如下方式预先确定:确定多个字节码编译场景,并确定所述多个字节码编译场景的用户感知度以及执行实时性;基于用户感知度以及执行实时性,为所述多个字节码编译场景分别分配匹配的CPU核信息,其中,若第一用户感知度高于第二用户感知度,则所述第一用户感知度被分配的CPU数量大于所述第二用户感知度被分配的CPU数量,且所述第一用户感知度被分配的CPU核执行能力强于所述第二用户感知度被分配的CPU执行能力;和/或若第一执行实时性高于第二执行实时性,则所述第一执行实时性被分配的CPU数量大于所述第二执行实时性被分配的CPU数量,且所述第一执行实时性被分配的CPU核执行能力强于所述第二执行实时性被分配的CPU执行能力。3.根据权利要求1或2中任意一种所述的字节码编译方法,其特征在于,所述确定所述终端的当前字节码编译场景,包括:基于所述终端当前执行的字节码编译,确定所述终端的当前字节码编译场景为以下场景之一或组合:安装应用场景、系统首次启动场景、系统正在启动场景、系统启动完成场景、后台空闲场景、插件编译场景、应用更新场景或者应用首次使用场景。4.根据权利要求1所述的字节码编译方法,其特征在于,所述根据所述当前字节码编译场景和所述当前CPU核信息,进行字节码编译,包括:将表征所述当前字节码编译场景的场景参数添加至数据包解析和管理对象中,并通过数据包字节码编译优化服务传递至字节码编译执行线程;将表征所述当前字节码编译场景的场景参数添加至所述字节码编译执行线程的启动参数中,并采用所述当前字节码对应匹配地所述当前CPU核信息进行字节码编译。5.根据权利要求1或4所述的字节码编译方法,其特征在于,所述字节码编译方法还包括:输出字节码编译的运行日志,所述运行日志中包括所述当前字节码编译场景和所述当前CPU核信息;获取用户基于所述运行日志输入的CPU核调整信息,并基于所述CPU核调整信息调整所述当前字节码编译场景对应的CPU核信息。6.一种字节码编译装置,其特征在于,应用于终端,所述字节码编译装置包括:确定单元,用于确定所述终端的当前字节码编译场景,和基于字节码编译场景与CPU核信息之间的对应关系,确定与所述当前字节码编译场景匹配的当前...

【专利技术属性】
技术研发人员:王举程雪妮
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1