小程序的启动方法、装置、电子设备及存储介质制造方法及图纸

技术编号:36027313 阅读:13 留言:0更新日期:2022-12-21 10:26
本公开涉及小程序的启动方法、装置、电子设备及存储介质。所述方法应用于宿主应用,所述宿主应用用于为小程序提供运行环境,所述方法包括:获取宿主应用内小程序的启动指令;在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。本公开实施例解决了当宿主应用刚启动或预加载的子进程被后台释放等情况发生时,不能利用子进程预加载小程序,导致小程序启动速度极慢的技术问题,提高了小程序的启动速度。了小程序的启动速度。了小程序的启动速度。

【技术实现步骤摘要】
小程序的启动方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,尤其涉及小程序的启动方法、装置、电子设备及存储介质。

技术介绍

[0002]随着计算机技术的发展,出现了小程序技术。通过电子设备的宿主应用(APP)加载小程序的软件开发工具包(SDK),可以让接入的小程序不需要下载也可以使用。小程序在单独的子进程运行,每个小程序占用一个子进程,和宿主应用的主进程进行了隔离,以保证运行的安全和稳定。然而,小程序在冷启动时速度较慢。相关技术中,通过在宿主应用中预先创建子进程,从而预先加载小程序,从而达到小程序热启动的目的。然而,预先加载的子进程属于后台进程,优先级不高,可能因为资源紧张被设备系统回收。并且,当宿主应用刚启动的时候,命中预加载子进程的概率很低,从而不能保证小程序的快速启动。

技术实现思路

[0003]本公开提供小程序的启动方法、装置、电子设备及存储介质。以至少解决相关技术中小程序启动慢的技术问题。本公开的技术方案如下:
[0004]根据本公开实施例的第一方面,提供一种小程序的启动方法,应用于宿主应用,所述宿主应用用于为小程序提供运行环境,所述方法包括:
[0005]获取宿主应用内小程序的启动指令;
[0006]在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。
[0007]在一种可能的实现方式中,确定所述小程序是否满足主进程可用条件的方式,包括:
[0008]获取安装所述宿主应用的电子设备当前的内存数据;
[0009]将所述内存数据发送至所述宿主应用的服务器,以指示所述服务器根据所述内存数据、以及安装所述宿主应用的多个电子设备的所述小程序的历史使用数据,确定所述小程序是否可用所述宿主应用的主进程启动。
[0010]在一种可能的实现方式中,所述利用所述宿主应用的主进程启动所述小程序,包括:
[0011]利用所述宿主应用的主进程获取所述小程序的标识信息;
[0012]创建与所述标识信息相匹配的虚拟机环境,
[0013]在所述虚拟机环境中启动所述小程序。
[0014]在一种可能的实现方式中,所述在所述虚拟机环境中启动所述小程序,包括:
[0015]在所述虚拟机环境中,加载所述小程序对应通用能力的程序包,所述程序包中封装了多种预设的功能组件;
[0016]在所述程序包加载成功后,加载所述小程序的业务程序包。
[0017]在一种可能的实现方式中,还包括:
[0018]响应于所述小程序的关闭指令,释放所述小程序对应的虚拟机环境,以释放所述小程序占用的系统资源。
[0019]在一种可能的实现方式中,在所述获取宿主应用内小程序的启动指令之后还包括:
[0020]在存在子进程预加载所述小程序的情况下,利用所述子进程启动所述小程序。
[0021]根据本公开实施例的第二方面,提供一种小程序的启动装置,包括:
[0022]第一获取模块,用于获取宿主应用内小程序的启动指令;
[0023]第一启动模块,用于在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。
[0024]在一种可能的实现方式中,所述装置还包括:
[0025]第二获取,用于获取安装所述宿主应用的电子设备当前的内存数据;
[0026]确定模块,用于将所述内存数据发送至所述宿主应用的服务器,以指示所述服务器根据所述内存数据、以及安装所述宿主应用的多个电子设备的所述小程序的历史使用数据,确定所述小程序是否可用所述宿主应用的主进程启动。
[0027]在一种可能的实现方式中,所述启动模块,包括:
[0028]获取子模块,用于利用所述宿主应用的主进程获取所述小程序的标识信息;
[0029]创建子模块,用于创建与所述标识信息相匹配的虚拟机环境,
[0030]启动子模块,用于在所述虚拟机环境中启动所述小程序。
[0031]在一种可能的实现方式中,所述启动子模块,包括:
[0032]第一加载单元,用于在所述虚拟机环境中,加载所述小程序对应通用能力的程序包,所述程序包中封装了多种预设的功能组件;
[0033]第二加载单元,用于在所述程序包加载成功后,加载所述小程序的业务程序包。
[0034]在一种可能的实现方式中,所述装置还包括:
[0035]释放模块,用于响应于所述小程序的关闭指令,释放所述小程序对应的虚拟机环境,以释放所述小程序占用的系统资源。
[0036]在一种可能的实现方式中,所述装置还包括:
[0037]第二启动模块,用于在存在子进程预加载所述小程序的情况下,利用所述子进程启动所述小程序。
[0038]根据本公开实施例的第三方面,提供一种电子设备,包括:
[0039]处理器;
[0040]用于存储所述处理器可执行指令的存储器;
[0041]其中,所述处理器被配置为执行所述指令,以实现如本公开实施例任一项所述的小程序的启动方法。
[0042]根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如本公开实施例任一项所述的小程序的启动方法。
[0043]根据本公开实施例的第五方面,提供一种计算机程序产品,所述计算机程序产品中包括指令,所述指令被电子设备的处理器执行时,使得所述电子设备能够执行如本公开
实施例任一项所述的小程序的启动方法。
[0044]本公开的实施例提供的技术方案至少带来以下有益效果:
[0045]本公开实施例提供了小程序的启动方法,通过设置主程序可用条件,进而在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。解决了当宿主应用刚启动或预加载的子进程被后台释放等情况发生时,不能利用子进程预加载小程序,导致小程序启动速度极慢的技术问题,提高了小程序的启动速度。
[0046]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
[0047]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0048]图1是根据一示例性实施例示出的一种小程序的启动方法的应用环境图。
[0049]图2是根据一示例性实施例示出的一种小程序的启动方法的流程图。
[0050]图3是根据一示例性实施例示出的一种小程序的展示界面图。
[0051]图4是根据另一示例性实施例示出的一种小程序的启动方法的流程图。
[0052]图5是根据一示例性实施例示出的一种小程序的启动装置的框图。
[0053]图6是根据一示例本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种小程序的启动方法,其特征在于,应用于宿主应用,所述宿主应用用于为小程序提供运行环境,所述方法包括:获取宿主应用内小程序的启动指令;在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。2.根据权利要求1所述的方法,其特征在于,确定所述小程序是否满足主进程可用条件的方式,包括:获取安装所述宿主应用的电子设备当前的内存数据;将所述内存数据发送至所述宿主应用的服务器,以指示所述服务器根据所述内存数据、以及安装所述宿主应用的多个电子设备的所述小程序的历史使用数据,确定所述小程序是否可用所述宿主应用的主进程启动。3.根据权利要求1所述的方法,其特征在于,所述利用所述宿主应用的主进程启动所述小程序,包括:利用所述宿主应用的主进程获取所述小程序的标识信息;创建与所述标识信息相匹配的虚拟机环境;在所述虚拟机环境中启动所述小程序。4.根据权利要求3所述的方法,其特征在于,所述在所述虚拟机环境中启动所述小程序,包括:在所述虚拟机环境中,加载所述小程序对应通用能力的程序包,所述程序包中封装了多种预设的功能组件;在所述程序包加载成功后,加载所述小程序的业务程序包。5.根据权利要求1所述的方法,其特征在于,还包括:响应于所述小程序的关闭指令,释放所述小程序对应的虚...

【专利技术属性】
技术研发人员:李宝生
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1