System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种加载代码文件的方法、装置、系统及存储介质。
技术介绍
1、随着计算机技术的发展,软件的体量越来越大。在一些实现方式中,为了便于对软件的代码进行维护管理,可以基于代码模块化技术对软件进行优化。代码模块化是通过多个独立的、可重用的代码文件实现一个程序的功能。也就是说,一个程序可能由多个代码文件组成。通过代码模块化技术,可以将复杂的软件代码分解为多个简单的、易于维护和扩展的代码文件,从而提高代码的可读性、可维护性和可重用性。
2、在软件启动或者软件运行的过程中,可能需要将代码文件加载到内存。加载代码文件的速度可能影响软件启动的速度或者运行的速度。
技术实现思路
1、为了解决现有技术的问题,本申请提供了在一种加载代码文件的方法及装置。
2、第一方面,本申请提供了一种加载代码文件的方法,所述方法包括:
3、获取目标软件对应的待加载的多个代码文件;
4、根据所述多个代码文件的优先级,确定目标代码文件集合,所述目标代码文件集合包括多个目标代码文件,所述多个目标代码文件的优先级相同;
5、将所述多个目标代码文件并行加载到内存。
6、在一些可能的实现方式中,所述将所述多个目标代码文件并行加载到内存包括:
7、调用预设接口,所述预设接口不包括互斥锁,所述互斥锁用于串行加载代码文件;
8、通过所述预设接口将所述多个目标代码文件并行加载到内存。
9、在一些可能的实现方式
10、对所述目标软件的代码进行解析,获取并加载所述预设接口的代码。
11、在一些可能的实现方式中,所述方法还包括:
12、获取每个所述代码文件的属性信息,所述代码文件的属性信息包括所述代码文件的优先级的信息;
13、根据所述代码文件的优先级,确定每个所述代码文件在代码文件队列中的位置;
14、所述确定目标代码文件集合包括:
15、从所述代码文件队列的头部确定所述目标代码文件。
16、在一些可能的实现方式中,所述目标软件运行于第一设备,在将所述多个目标代码文件并行加载到内存之前,所述方法还包括:
17、获取所述第一设备的剩余计算资源量;
18、确定所述剩余计算资源量大于预设资源阈值。
19、在一些可能的实现方式中,在加载完所述多个目标代码文件之后,所述方法还包括:
20、将所述多个目标代码文件的代码文件信息串行写入代码文件信息表,所述代码文件信息是所述目标代码文件加载完成后得到的。
21、在一些可能的实现方式中,所述目标软件对应的待加载的多个代码文件包括共享对象(shared object,so)库文件。
22、第二方面,本申请提供了一种加载代码文件的装置,所述装置包括:获取单元,用于获取目标软件对应的待加载的多个代码文件。确定单元,用于根据所述多个代码文件的优先级,确定目标代码文件集合,所述目标代码文件集合包括多个目标代码文件,所述多个目标代码文件的优先级相同。加载单元,用于将所述多个目标代码文件并行加载到内存。
23、在一些可能的实现方式中,所述加载单元,具体用于调用预设接口,所述预设接口不包括互斥锁,所述互斥锁用于串行加载代码文件;通过所述预设接口将所述多个目标代码文件并行加载到内存。
24、在一些可能的实现方式中,所述获取单元,还用于对所述目标软件的代码进行解析,获取并加载所述预设接口的代码。
25、在一些可能的实现方式中,所述获取单元,还用于获取每个所述代码文件的属性信息,所述代码文件的属性信息包括所述代码文件的优先级的信息。所述确定单元,具体用于根据所述代码文件的优先级,确定每个所述代码文件在代码文件队列中的位置;从所述代码文件队列的头部确定所述目标代码文件。
26、在一些可能的实现方式中,所述目标软件运行于第一设备。所述获取单元,还用于获取所述第一设备的剩余计算资源量。所述确定单元,还用于确定所述剩余计算资源量大于预设资源阈值。
27、在一些可能的实现方式中,所述装置还包括信息写入单元,所述信息写入单元,具体用于将所述多个目标代码文件的代码文件信息串行写入代码文件信息表,所述代码文件信息是所述目标代码文件加载完成后得到的。
28、在一些可能的实现方式中,所述目标软件对应的待加载的多个代码文件包括so库文件。
29、第三方面,本申请提供一种电子设备,包括:
30、一个或多个处理器;
31、存储装置,其上存储有一个或多个程序,
32、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任一所述的方法。
33、第四方面,本申请提供一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现第一方面中任一所述的方法。
34、第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在设备上运行时,使得所述设备执行第一方面所述的方法。
35、由此可见,本申请具有如下有益效果:
36、本申请实施例提供了一种加载代码文件的方法、装置及存储介质。具体地,在加载目标软件对应的代码文件时,首先可以获取多个待加载的代码文件。接着,可以根据代码文件的优先级,确定目标代码文件集合。目标代码文件集合中包括多个目标代码文件,且任意两个目标代码文件的优先级相同。在确定了目标代码文件集合之后,可以将多个目标代码文件并行加载到内存。这样,一次加载中可以并行加载多个优先级相同的代码文件,无需逐个加载目标软件的代码文件。如此,通过并行加载目标代码文件到内存,提高了代码文件的加载速度,也就提高了软件的启动速度和运行速度。
本文档来自技高网...【技术保护点】
1.一种加载代码文件的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述多个目标代码文件并行加载到内存包括:
3.根据权利要求2所述的方法,其特征在于,在调用预设接口之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述目标软件运行于第一设备,在将所述多个目标代码文件并行加载到内存之前,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,在加载完所述多个目标代码文件之后,所述方法还包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述目标软件对应的待加载的多个代码文件包括共享对象so库文件。
8.一种加载代码文件的装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读介质,其特征在于,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
【技术特征摘要】
1.一种加载代码文件的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述将所述多个目标代码文件并行加载到内存包括:
3.根据权利要求2所述的方法,其特征在于,在调用预设接口之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述目标软件运行于第一设备,在将所述多个目标代码文件并行加载到内存之前,所述方法还包括:
...
【专利技术属性】
技术研发人员:万钰臻,刘晓胜,
申请(专利权)人:北京字跳网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。