程序集加载方法、系统、电子设备及存储介质技术方案

技术编号:32129833 阅读:15 留言:0更新日期:2022-01-29 19:26
本发明专利技术实施例公开了一种程序集加载方法、系统、电子设备及存储介质,其中,该方法包括:客户端在目标项目的启动过程中,加载所述目标项目的原生代码库;所述客户端当所述目标项目的原生代码库加载完成时,加载预先构建的程序加载钩子文件;所述客户端基于所述程序加载钩子文件加载引擎插件库中与所述目标项目对应的目标插件子程序集;所述客户端基于所述目标插件子程序集启动所述目标项目。本发明专利技术实施例的技术方案,能够在目标项目的启动过程中,通过加载的预先构建的程序加载钩子文件,加载与启动该目标项目对应的目标插件子程序集,并非直接全量加载引擎插件库,能够有效避免内存资源浪费,优化项目启动流程,提高项目启动效率。提高项目启动效率。提高项目启动效率。

【技术实现步骤摘要】
程序集加载方法、系统、电子设备及存储介质


[0001]本专利技术实施例涉及计算机应用
,尤其涉及一种程序集加载方法、系统、电子设备及存储介质。

技术介绍

[0002]在项目运行过程中,各项功能的实现往往依赖于项目相关程序集中与该功能对应的子程序集。在一个项目中,往往配备有各种各样的功能,这就需要加载与各种功能对应的子程序集。
[0003]目前,相关技术的处理方式是,在项目启动时,加载项目相关程序集中的所有子程序集,然后运行项目。但是,这样种全量加载的缺陷在于,项目相关程序集中的子程序集往往很多,且不同的用户可能应用的功能并不相同,这就使得加载的子程序集可能并非全部都会用到,会造成用户终端的内存资源浪费,影响用户体验。

技术实现思路

[0004]本专利技术实施例提供了一种程序集加载方法、系统、电子设备及存储介质,以实现项目子程序集的动态加载以及个性化加载。
[0005]第一方面,本专利技术实施例提供了一种程序集加载方法,包括:
[0006]客户端在目标项目的启动过程中,加载所述目标项目的原生代码库;
[0007]所述客户端当所述目标项目的原生代码库加载完成时,加载预先构建的程序加载钩子文件;
[0008]所述客户端基于所述程序加载钩子文件加载引擎插件库中与所述目标项目对应的目标插件子程序集;
[0009]所述客户端基于所述目标插件子程序集启动所述目标项目。
[0010]第二方面,本专利技术实施例还提供了一种程序集加载系统,其特征在于,包括客户端,其中,所述客户端包括:
[0011]原生代码库加载模块,用于在目标项目的启动过程中,加载所述目标项目的原生代码库;
[0012]钩子文件加载模块,用于当所述目标项目的原生代码库加载完成时,加载预先构建的程序加载钩子文件;
[0013]子程序集加载模块,用于基于所述程序加载钩子文件加载引擎插件库中与所述目标项目对应的目标插件子程序集;
[0014]目标项目启动模块:用于基于所述目标插件子程序集启动所述目标项目。
[0015]第三方面,本专利技术实施例还提供了一种电子设备,该电子设备包括:
[0016]一个或多个处理器;
[0017]存储装置,用于存储一个或多个程序,
[0018]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理
器实现本专利技术任意实施例所提供的程序集加载方法。
[0019]第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术任意实施例所提供的程序集加载方法。
[0020]本专利技术实施例的技术方案,通过在目标项目启动过程中,加载预先构建的程序加载钩子文件,基于程序加载钩子文件对引擎插件库中子程序集进行加载,并非直接全量加载引擎插件库,而是加载与启动该目标项目对应的目标插件子程序集。进而,基于目标插件子程序集继续执行启动目标项目的操作,解决了现有技术中因全量加载子程序集而导致的内存资源浪费的问题,实现了节省内存资源,优化项目启动流程,提高项目启动效率的技术效果。
附图说明
[0021]为了更加清楚地说明本专利技术示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本专利技术所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
[0022]图1为本专利技术实施例一所提供的一种程序集加载方法的流程示意图;
[0023]图2为本专利技术实施例二所提供的一种程序集加载方法的流程示意图;
[0024]图3为本专利技术实施例三所提供的一种应用场景下程序集加载方法的流程示意图;
[0025]图4为本专利技术实施例四所提供的一种程序集加载系统的客户端的结构示意图;
[0026]图5为本专利技术实施例五所提供的一种电子设备的结构示意图。
具体实施方式
[0027]下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。
[0028]另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0029]在本专利技术实施例中,项目可以理解为由开发人员所开发的各种各样的软件工程。目标项目可以理解为当前启动过程对应的项目。为了便于理解,在本专利技术实施例的具体技术方案介绍之前,先以目标项目为游戏类项目为例,对项目启动过程进行介绍。具体地,目标项目的启动过程可以包括如下步骤:1、项目运行环境初始化;2、加载目标项目所需的全量程序集;3、加载目标项目所需要的的着色器;4、加载目标项目的数值文件;5、进入目标项目的登录流程;4、游戏运行,进入游戏界面。其中,目标项目所需的全量程序集包括:目标项目对应的引擎原生代码库、与引擎原生代码库对应的引擎插件层程序集、目标项目的项目工程程序集以及与项目工程程序集对应的第三方库程序集。
[0030]其中,项目工程程序集可以包含项目工程的全部程序代码;如游戏工程的全部程序代码,可以是Project系列的dll文件代码。第三方库程序集可以是第三方软件开发工具包或第三方插件库程序集等。
[0031]实施例一
[0032]图1为本专利技术实施例一所提供的一种程序集加载方法的流程示意图,本实施例可适用于在目标项目启动的过程中,对程序集进行加载的情况,该方法可以由程序集加载装置来执行,该装置可以通过软件和/或硬件来实现,可配置于终端和/或服务器中来实现本专利技术实施例中的程序集加载方法。
[0033]如图1所示,本实施例的方法具体包括如下步骤:
[0034]S110、客户端在目标项目的启动过程中,加载所述目标项目的原生代码库。
[0035]其中,客户端可以理解为为用户提供与目标项目的交互服务的程序。具体地,客户端可以理解为安装于用户终端的目标项目的应用程序。可选的,目标项目为游戏项目时,客户端可以为游戏客户端。
[0036]如前所述,目标项目可以当前时刻需要启动的项目。可选的,目标项目可以是安装在智能终端的应用程序,其中,智能终端可以为手机端、PC端等。
[0037]其中,目标项目的原生代码库可以理解为支持目标项目启动的基础代码文件。编写原生代码库的语言可以是C#语言。可选的,原生代码库可以是 UnityEngine.dll库等。...

【技术保护点】

【技术特征摘要】
1.一种程序集加载方法,其特征在于,包括:客户端在目标项目的启动过程中,加载所述目标项目的原生代码库;所述客户端当所述目标项目的原生代码库加载完成时,加载预先构建的程序加载钩子文件;所述客户端基于所述程序加载钩子文件加载引擎插件库中与所述目标项目对应的目标插件子程序集;所述客户端基于所述目标插件子程序集启动所述目标项目。2.根据权利要求1所述的方法,其特征在于,在所述加载所述目标插件子程序集之后,还包括:所述客户端基于所述程序加载钩子文件加载项目工程程序集中的项目启动子程序集;所述客户端所述基于所述目标插件子程序集启动所述目标项目,包括:所述客户端基于所述目标插件程序集以及所述项目启动子程序集启动所述目标项目。3.根据权利要求2所述的方法,其特征在于,所述项目启动子程序集包括用于启动所述目标项目的基础子程序集,或者,所述项目启动子程序集包括常用子程序集和用于启动所述目标项目的基础子程序集,其中,所述常用子程序集包括所述项目工程程序集的调用频率达到预设频率阈值和/或调用所述子程序集终端的数量达到预设数量阈值的子程序集。4.根据权利要求2所述的方法,其特征在于,还包括:所述客户端将项目启动子程序集存储于用于运行所述目标项目的目标终端的第一存储空间中;所述客户端基于所述程序加载钩子文件加载项目工程程序集中的项目启动子程序集,包括:所述客户端基于所述程序加载钩子文件从所述第一存储空间中加载项目工程程序集中的项目启动子程序集。5.根据权利要求1所述的方法,其特征在于,在所述客户端基于所述目标插件子程序集启动所述目标项目之后,还包括:所述客户端显示所述目标项目的登录界面,接收目标用户在所述登录界面输入的登录信息,并基于所述登录信息运行所述目标项目。6.根据权利要求5所述的方法,其特征在于,所述客户端基于所述登录信息运行所述目标项目,包括:所述客户端基于所述程序加载钩子文件将所述登录信息以及所述目标用户的当前行为数据发送至边缘服务器...

【专利技术属性】
技术研发人员:王达
申请(专利权)人:上海米哈游璃月科技有限公司
类型:发明
国别省市:

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

1