System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及文件优化,具体涉及一种文件优化方法、装置、电子设备及可读存储介质。
技术介绍
1、android系统中,我们需要将java/kotlin代码编译成dex文件,才能运行在android虚拟机中,而android系统为了提升应用的启动和运行速度,常常会在应用安装的时候执行dex优化,并将dex文件转化成odex文件。
2、原生的dex优化策略比较单一,往往会占用系统大量的cpu负载,从而造成系统卡顿,对用户的体验非常不好。
技术实现思路
1、本申请提供一种文件优化方法、装置、电子设备及可读存储介质,旨在解决现有的文件优化方法往往会占用系统大量的cpu负载,从而造成系统卡顿,对用户的体验非常不好的技术问题。
2、第一方面,本申请提供一种文件优化方法,包括:
3、获取待优化的目标源码文件;
4、查询预设的编译器模式表,得到所述目标源码文件对应的编译器模式,其中,所述目标源码文件对应的编译器模式基于所述目标源码文件的使用频率确定;
5、若所述编译器模式为预设的目标模式,则获取设备负载信息;
6、按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化,得到优化源码文件。
7、在本申请的一种可能的实现方式中,所述获取设备负载信息之前,还包括:
8、获取所述目标源码文件的热点代码数量;
9、若所述热点代码数量大于预设数量阈值,则执行所述获取设备负载信息的步骤;
10、若所述热点代码数量小于等于预设数量阈值,则按照所述目标模式对所述目标源码文件进行优化,得到优化源码文件。
11、在本申请的一种可能的实现方式中,所述按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化,得到优化源码文件之前,还包括:
12、若所述设备负载信息满足预设的低负载条件,则将当前时间作为优化时机;
13、若所述设备负载信息不满足预设的低负载条件,则将目标设备处于目标状态作为优化时机,其中,所述目标状态包括充电状态和屏保状态中的一种。
14、在本申请的一种可能的实现方式中,所述目标类型为热点代码编译模式,
15、所述对所述目标源码文件进行优化,得到优化源码文件,包括:
16、对所述目标源码文件中预设的热点代码进行编译,得到所述热点代码编译后的优化源码文件。
17、在本申请的一种可能的实现方式中,对所述目标源码文件进行优化时的处理器数量、线程数量和优先级信息基于所述目标源码文件对应的目标应用是否为前台应用确定。
18、在本申请的一种可能的实现方式中,所述获取待优化的目标源码文件,包括:
19、响应于目标应用的安装事件或更新事件,获取所述目标应用对应的目标源码文件。
20、在本申请的一种可能的实现方式中,所述按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化之后,还包括:
21、若优化失败,则更改所述编译器模式表中所述目标源码文件对应的编译器模式,得到新的编译器模式表;
22、和/或,
23、若优化失败,则停止优化。
24、第二方面,本申请提供一种文件优化装置,包括:
25、第一获取单元,用于获取待优化的目标源码文件;
26、查询单元,用于查询预设的编译器模式表,得到所述目标源码文件对应的编译器模式,其中,所述目标源码文件对应的编译器模式基于所述目标源码文件的使用频率确定;
27、第二获取单元,用于若所述编译器模式为预设的目标模式,则获取设备负载信息;
28、优化单元,用于按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化,得到优化源码文件。
29、在本申请的一种可能的实现方式中,第二获取单元还用于:
30、获取所述目标源码文件的热点代码数量;
31、若所述热点代码数量大于预设数量阈值,则执行所述获取设备负载信息的步骤;
32、若所述热点代码数量小于等于预设数量阈值,则按照所述目标模式对所述目标源码文件进行优化,得到优化源码文件。
33、在本申请的一种可能的实现方式中,优化单元还用于:
34、若所述设备负载信息满足预设的低负载条件,则将当前时间作为优化时机;
35、若所述设备负载信息不满足预设的低负载条件,则将目标设备处于目标状态作为优化时机,其中,所述目标状态包括充电状态和屏保状态中的一种。
36、在本申请的一种可能的实现方式中,所述目标类型为热点代码编译模式,
37、优化单元还用于:
38、对所述目标源码文件中预设的热点代码进行编译,得到所述热点代码编译后的优化源码文件。
39、在本申请的一种可能的实现方式中,对所述目标源码文件进行优化时的处理器数量、线程数量和优先级信息基于所述目标源码文件对应的目标应用是否为前台应用确定。
40、在本申请的一种可能的实现方式中,第一获取单元还用于:
41、响应于目标应用的安装事件或更新事件,获取所述目标应用对应的目标源码文件。
42、在本申请的一种可能的实现方式中,优化单元还用于:
43、若优化失败,则更改所述编译器模式表中所述目标源码文件对应的编译器模式,得到新的编译器模式表;
44、和/或,
45、若优化失败,则停止优化。
46、第三方面,本申请还提供一种电子设备,电子设备包括处理器、存储器以及存储于存储器中并可在处理器上运行的计算机程序,处理器调用存储器中的计算机程序时执行本申请提供的任一种文件优化方法中的步骤。
47、第四方面,本申请还提供一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现本申请提供的任一种文件优化方法中的步骤。
48、综上所述,本申请实施例提供的文件优化方法,包括:获取待优化的目标源码文件;查询预设的编译器模式表,得到所述目标源码文件对应的编译器模式,其中,所述目标源码文件对应的编译器模式基于所述目标源码文件的使用频率确定;若所述编译器模式为预设的目标模式,则获取设备负载信息;按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化,得到优化源码文件。
49、可见,本申请实施例提供的文件优化方法,可以按照设备负载情况调整优化时机,避免后台优化占用负载过多。同时,本申请实施例提供的文件优化方法仅针对使用频率较低的目标源码文件调整优化时机,不会影响用户的正常使用。
本文档来自技高网...【技术保护点】
1.一种文件优化方法,其特征在于,包括:
2.根据权利要求1所述的文件优化方法,其特征在于,所述获取设备负载信息之前,还包括:
3.根据权利要求1所述的文件优化方法,其特征在于,所述按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化,得到优化源码文件之前,还包括:
4.根据权利要求1所述的文件优化方法,其特征在于,所述目标类型为热点代码编译模式,
5.根据权利要求1所述的文件优化方法,其特征在于,对所述目标源码文件进行优化时的处理器数量、线程数量和优先级信息基于所述目标源码文件对应的目标应用是否为前台应用确定。
6.根据权利要求1所述的文件优化方法,其特征在于,所述获取待优化的目标源码文件,包括:
7.根据权利要求1-6任一项所述的文件优化方法,其特征在于,所述按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化之后,还包括:
8.一种文件优化装置,其特征在于,包括:
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储器以及存储
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的文件优化方法中的步骤。
...【技术特征摘要】
1.一种文件优化方法,其特征在于,包括:
2.根据权利要求1所述的文件优化方法,其特征在于,所述获取设备负载信息之前,还包括:
3.根据权利要求1所述的文件优化方法,其特征在于,所述按照所述设备负载信息对应的优化时机和所述目标模式,对所述目标源码文件进行优化,得到优化源码文件之前,还包括:
4.根据权利要求1所述的文件优化方法,其特征在于,所述目标类型为热点代码编译模式,
5.根据权利要求1所述的文件优化方法,其特征在于,对所述目标源码文件进行优化时的处理器数量、线程数量和优先级信息基于所述目标源码文件对应的目标应用是否为前台应用确定。
6.根据权利要求1所述的文件优化方法,其特征...
【专利技术属性】
技术研发人员:杨浩,
申请(专利权)人:深圳TCL新技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。