System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施方式涉及计算机,更具体地,本公开的实施方式涉及一种程序启动方法、装置、电子设备和存储介质。
技术介绍
1、本部分旨在为本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
2、基于使用场景的不同,应用程序可以被划分为游戏类应用程序和非游戏类应用程序。非游戏类应用程序中可以启动游戏类应用程序。
3、目前,非游戏类应用程序可以通过安卓(android)原生技术栈开发。在非游戏类应用程序中通过二级页面的触发启动游戏程序。二级页面可以是指程序中除首页之外的其它页面,也即从应用程序首页提供的入口点击后进入的二级页面。游戏程序的正常运行需要依赖于游戏引擎,因此,在非游戏类应用程序中,通过二级页面的触发启动游戏程序时,还需要启动游戏引擎。
4、但是,游戏引擎的启动,需要加载各类游戏资源并渲染游戏页面,因此,通过二次页面启动游戏程序过程中会出现较长的启动耗时,导致游戏程序的启动效率较低。
技术实现思路
1、本公开提供一种程序启动方法、装置、电子设备和存储介质,以解决通过二次页面启动游戏程序过程中会出现较长的启动耗时,导致游戏程序的启动效率较低的技术问题。
2、在本公开实施方式的第一方面中,提供了一种程序启动方法,包括:
3、确定与目标应用程序的目标页面存在启动关联的至少一个游戏程序,所述目标页面为所述目标应用程序的首页页面,所述目标应用程序为非游戏类应用程序;
4、从所述至少一个游戏程
5、响应于用户针对所述目标页面中所述第一游戏程序执行的启动操作,通过所述预启动的游戏引擎,显示所述第一游戏程序的游戏页面。
6、在本公开的一个实施例中,所述对所述第一游戏程序的游戏引擎进行预启动,包括:
7、基于所述第一游戏程序与所述目标页面的启动绑定关系,确定所述第一游戏程序启动时所需要的活动传递参数;
8、基于所述活动传递参数对应的父类上下文组件,确定全局启动参数;
9、利用所述全局启动参数,控制所述第一游戏程序的游戏引擎预启动。
10、在本公开的另一实施例中,所述利用所述全局启动参数,控制所述第一游戏程序的游戏引擎预启动,包括:
11、将所述全局启动参数输入所述第一游戏程序的引擎启动函数;
12、采用所述引擎启动函数,控制所述第一游戏程序的游戏引擎预启动。
13、在本公开的又一个实施例中,所述控制所述第一游戏程序的游戏引擎预启动,包括:
14、确定所述游戏引擎需要启动的游戏资源和待渲染页面;
15、加载所述游戏引擎启动所需要的所述游戏资源;
16、解除所述待渲染页面与所述目标页面的渲染绑定关联;
17、基于所述游戏引擎的画布构造函数,对所述待渲染页面进行离屏渲染处理,获得渲染结束的所述游戏页面;
18、所述显示所述第一游戏程序的游戏页面,包括:
19、显示所述第一游戏程序对应的所述渲染结束的游戏页面。
20、在本公开的再一个实施例中,所述基于所述游戏引擎的画布构造函数,对所述待渲染页面进行离屏渲染处理,获得渲染结束的所述游戏页面,包括:
21、为所述游戏引擎的画布构造函数构造画布绘制参数;
22、将所述画布绘制参数输入所述待渲染页面的画布构造函数,获得所述画布构造函数创建的画布surface;
23、通过所述画布surface,对所述待渲染页面进行离屏渲染处理,获得渲染结束的所述游戏页面。
24、在本公开的再一个实施例中,所述确定与目标应用程序的目标页面存在启动关联的至少一个游戏程序之前,还包括:
25、响应于针对所述目标应用程序触发的程序启动操作,启动所述目标应用程序并显示所述目标应用程序的首页页面;
26、所述响应于用户针对所述目标页面中所述第一游戏程序执行的启动操作之前,还包括:
27、响应于针对所述首页页面执行的页面切换操作,显示所述页面切换操作对应的所述目标页面。
28、在本公开的再一个实施例中,所述从所述至少一个游戏程序中确定第一游戏程序,包括:
29、获取所述至少一个游戏程序分别对应的使用分数;
30、基于所述至少一个游戏程序分别对应的使用分数,确定使用分数最高的游戏程序为所述第一游戏程序。
31、在本公开的再一个实施例中,还包括:
32、响应于所述用户针对所述目标页面中第二游戏程序执行的启动操作,启动所述第二游戏程序的游戏引擎,并显示所述第二游戏程序的游戏页面,所述第二游戏程序与所述第一游戏程序不同。
33、在本公开的再一个实施例中,所述启动所述第二游戏程序的游戏引擎,包括:
34、确定所述预启动的所述第一游戏程序的游戏引擎对应的公有游戏资源和私有游戏资源;
35、将所述公有游戏资源作为所述第二游戏程序的游戏引擎中的公有游戏资源;
36、获取所述第二游戏程序的游戏引擎对应的私有游戏资源;
37、关闭所述第一游戏程序的私有游戏资源,并启动所述第二游戏程序的私有游戏资源。
38、在本公开实施方式的第二方面中,提供了一种程序启动装置,包括:
39、程序确定单元,用于确定与目标应用程序的目标页面存在启动关联的至少一个游戏程序,所述目标页面为所述目标应用程序的二级页面,所述目标应用程序为非游戏类应用程序;
40、引擎启动单元,用于从所述至少一个游戏程序中确定第一游戏程序,并对所述第一游戏程序的游戏引擎进行预启动;
41、显示触发单元,用于响应于用户针对所述目标页面中所述第一游戏程序执行的启动操作,通过所述预启动的游戏引擎,显示所述第一游戏程序的游戏页面。
42、在本公开实施方式的第三方面中,提供了一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
43、所述存储器存储计算机执行指令;
44、所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的程序启动方法。
45、在本公开实施方式的第四方面中,提供了一种存储介质,所述存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现如第一方面所述的程序启动方法。
46、根据本公开实施方式可以确定与目标应用程序的目标页面存在启动关联的至少一个游戏程序,目标页面为目标应用程序的首页页面,目标应用程序为非游戏类应用程序,因此,可以通过非游戏类应用程序启动时,直接对第一游戏程序进行预启动,并在用户触发第一游戏程序执行启动操作时,已启动的第一游戏程序可以快速启动,并显示第一游戏程序的游戏页面。在第一游戏程序的游戏引擎已启动的基础上,执行游戏页面的渲染即可完成游戏的启动,可以有效提升游戏启动效率,为本文档来自技高网...
【技术保护点】
1.一种程序启动方法,包括:
2.根据权利要求1所述的方法,其中,所述对所述第一游戏程序的游戏引擎进行预启动,包括:
3.根据权利要求2所述的方法,其中,所述利用所述全局启动参数,控制所述第一游戏程序的游戏引擎预启动,包括:
4.根据权利要求2所述的方法,其中,所述控制所述第一游戏程序的游戏引擎预启动,包括:
5.根据权利要求1-4任一项所述的方法,其中,所述确定与目标应用程序的目标页面存在启动关联的至少一个游戏程序之前,还包括:
6.根据权利要求1-4任一项所述的方法,其中,所述从所述至少一个游戏程序中确定第一游戏程序,包括:
7.根据权利要求1-4任一项所述的方法,还包括:
8.一种程序启动装置,包括:
9.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种存储介质,所述存储介质中存储有计算机程序指令,所述计算机程序指令被执行时,实现如权利要求1至7中任一项所述的程序启动方法。
【技术特征摘要】
1.一种程序启动方法,包括:
2.根据权利要求1所述的方法,其中,所述对所述第一游戏程序的游戏引擎进行预启动,包括:
3.根据权利要求2所述的方法,其中,所述利用所述全局启动参数,控制所述第一游戏程序的游戏引擎预启动,包括:
4.根据权利要求2所述的方法,其中,所述控制所述第一游戏程序的游戏引擎预启动,包括:
5.根据权利要求1-4任一项所述的方法,其中,所述确定与目标应用程序的目标页面存在启动关联的至少一个游...
【专利技术属性】
技术研发人员:陆康,
申请(专利权)人:杭州网易云音乐科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。