后台Dex编译管控的方法及装置制造方法及图纸

技术编号:19098359 阅读:60 留言:0更新日期:2018-10-03 02:35
本申请实施例提供后台Dex编译管控的方法及装置,以至少解决目前使用ART虚拟机运行时,点击某个应用会出现前台应用启动时间变长,使用过程卡顿的问题。方法包括:确定应用程序的类型;若所述应用程序的类型为后台类应用程序,确定所述后台类应用程序的绑核资源,其中,所述后台类应用程序的绑核资源小于前台类应用程序的绑核资源;根据所述后台类应用程序的绑核资源设置系统属性,其中,所述系统属性中包括所述后台类应用程序的绑核资源的信息;调用Dex2Oat,所述Dex2Oat用于读取所述系统属性,得到所述后台类应用程序的绑核资源的信息,并根据所述后台类应用程序的绑核资源的信息,创建线程编译所述应用程序。本申请适用于计算机领域。

【技术实现步骤摘要】
后台Dex编译管控的方法及装置
本申请涉及计算机领域,尤其涉及后台Dex编译管控的方法及装置。
技术介绍
为解决安卓(Android)性能问题,Android从4.4开始使用安卓运行时刻(AndroidRuntime,ART)虚拟机运行,以替换之前一直使用的安卓Dalvik虚拟机。其中,为了保持向后兼容,即支持原来大量的安卓Dalvik虚拟机代码,ART虚拟机仍采用与安卓Dalvik虚拟机相同的应用开发模式,即源代码还是编译生成Dalvik虚拟机下的可执行Dex文件。后台类应用程序安装时,采用Dex2Oat编译工具,将Dex文件编译成ART虚拟机下的可执行Oat文件,以保证应用程序运行时直接读取Oat文件运行。然而,由于后台类应用程序和前台类应用程序采用相同的绑核策略,抢占了前台类应用程序的中央处理单元(CentralProcessingUnit,CPU)和输入输出(Input/Output)I/O资源,因此,当用户在应用市场中下载了某个应用后,点击该应用时,会出现前台应用启动时间变长,使用过程卡顿的问题。
技术实现思路
本申请实施例提供后台Dex编译管控的方法及装置,以至少解决目前使用本文档来自技高网...

【技术保护点】
1.一种后台Dex编译管控的方法,其特征在于,所述方法包括:确定应用程序的类型;若所述应用程序的类型为后台类应用程序,确定所述后台类应用程序的绑核资源,其中,所述后台类应用程序的绑核资源小于前台类应用程序的绑核资源;根据所述后台类应用程序的绑核资源设置系统属性,其中,所述系统属性中包括所述后台类应用程序的绑核资源的信息;调用Dex2Oat,所述Dex2Oat用于读取所述系统属性,得到所述后台类应用程序的绑核资源的信息,并根据所述后台类应用程序的绑核资源的信息,创建线程编译所述应用程序。

【技术特征摘要】
1.一种后台Dex编译管控的方法,其特征在于,所述方法包括:确定应用程序的类型;若所述应用程序的类型为后台类应用程序,确定所述后台类应用程序的绑核资源,其中,所述后台类应用程序的绑核资源小于前台类应用程序的绑核资源;根据所述后台类应用程序的绑核资源设置系统属性,其中,所述系统属性中包括所述后台类应用程序的绑核资源的信息;调用Dex2Oat,所述Dex2Oat用于读取所述系统属性,得到所述后台类应用程序的绑核资源的信息,并根据所述后台类应用程序的绑核资源的信息,创建线程编译所述应用程序。2.根据权利要求1所述的方法,其特征在于,所述确定所述后台类应用程序的绑核资源,包括:根据预先配置的应用程序的类型和绑核资源的对应关系,确定所述后台类应用程序的绑核资源,其中,所述对应关系中包括所述后台类应用程序和所述后台类应用程序的绑核资源的对应关系。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:若所述系统属性为空或者所述Dex2Oat读取所述系统属性失败,所述Dex2Oat还用于根据预先设置的绑核资源,创建线程编译所述应用程序,其中,所述预先设置的绑核资源等于所述前台类应用程序的绑核资源。4.根据权利要求1-3任一项所述的方法,其特征在于,所述确定应用程序的类型,包括:确定包管理服务PMS的调用者是否为PM;若所述PMS的调用者是PM,确定所述应用程序的类型为调试类应用程序;若所述PMS的调用者不是PM,确定所述PMS的调用者是否为PackageInstaller;若所述PMS的调用者是PackageInstaller,确定所述应用程序的类型为前台类应用程序;若所述PMS的调用者不是PackageInstaller,确定所述应用程序的类型为后台类应用程序。5.根据权利要求1-4任一项所述的方法,其特征在于,在所述确定应用程序的类型之后,还包括:若所述应用程序的类型为前台类应用程序,确定所述前台类应用程序的绑核资源;根据所述前台类应用程序的绑核资源设置系统属性,其中,所述系统属性中包括所述前台类应用程序的绑核资源的信息;调用Dex2Oat,所述Dex2Oat用于读取所述系统属性,得到所述前台类应用程序的绑核资源的信息,并根据所述前台类应用程序的绑核资源的信息,创建线程编译所述应用程序。6.根据权利要求1-5任一项所述的方法,其特征在于,在所述确定应用程序的类型之后,还包括:若所述应用程序的类型为调试类应用程序,确定所述调试类应用程序的绑核资源;根据所述调试类应用程序的绑核资源设置系统属性,其中,所述系统属性中包括所述调试类应用程序的绑核资源的信息;调用Dex2Oat,所述Dex2Oat用于读取所述系统属性,得到所述调试类应用程序的绑核资源的信息,并根据所述调试类应用程序的绑核资源的信息,创建线程编译所述应用程序。7.根据权利要求1-6任一项所述的方法,其特征在于,所述后台类应用程序的绑核资源包括M1个小核,N1个大核,其中,(M1+N1)<(M2+N2),M2为前台类应用程序的绑核资源中小核的数量,N2为前台类应用程序的绑核资源中大核的数量,M1、N1、M2、N2均为整数。8.根据权利要求1-7任一项所述的方法,其特征在于,所述系统属性的格式为:<pkg_name>:B<N>:L<M>,其中,pkg_name表示应用名称,B表示大核,L表示小核,N表示大核的数量,M表示小核的数量。9.一种后台Dex编译管控的装置,其特征在于,所述装置包括:确定模块、设置模块和调用模块;所述确定模块,用于确定应用程序的类型;所述确定模块,还用于若所述应用程序的类型为后台类应用程序,确定所述后台类应用程序的绑核资源,其中,所述后台类应用程序的绑核资源小于前台类应用程序的绑核资源;所述...

【专利技术属性】
技术研发人员:文白林陈熙彩任雁蒙
申请(专利权)人:杭州华为数字技术有限公司
类型:发明
国别省市:浙江,33

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

1