一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

小程序的启动方法、装置、电子设备及存储介质与流程

2022-12-20 22:34:34 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及小程序的启动方法、装置、电子设备及存储介质。


背景技术:

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


技术实现要素:

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.图1是根据一示例性实施例示出的一种小程序的启动方法的应用环境图。
49.图2是根据一示例性实施例示出的一种小程序的启动方法的流程图。
50.图3是根据一示例性实施例示出的一种小程序的展示界面图。
51.图4是根据另一示例性实施例示出的一种小程序的启动方法的流程图。
52.图5是根据一示例性实施例示出的一种小程序的启动装置的框图。
53.图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
54.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
55.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
56.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
57.本公开所提供的小程序的启动方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。本公开实施例公开的小程序的启动方法可以应用在终端102中,终端102可以安装宿主应用,宿主应用用于为小程序提供运行环境。服务器104中可以存储小程序的数据包,还可以存储小程序运行时需要的运行环境的程序包。其中,服务器104可以包括多台,小程序的数据包以及运行环境的程序包可以位于相同或不同的服务器104上。终端102可以但不限于是各种个人
计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
58.图2是根据一示例性实施例示出的一种小程序的启动方法的流程图,如图2所示,所述方法用于终端中,包括以下步骤。
59.步骤s201,获取宿主应用内小程序的启动指令。
60.本公开实施例中,所述宿主应用可以包括接入小程序的应用(app),用于为小程序提供运行环境。其中,宿主应用可以包括即时通信应用程序、支付类应用程序、直播类应用程序、视频播放类应用程序、新闻阅读类应用程序或音频播放类应用程序等。本公开实施例中,所述小程序可以包括不需要下载安装也可以使用的应用,在一个示例中,用户可以通过宿主应用中的“扫一扫”功能或搜索功能启动小程序。在另一个示例中,宿主应用还可以展示多种小程序的界面,或用户历史使用的小程序的界面,用户可以在上述界面中进行小程序的选择,以启动小程序。图3是根据一示例性实施例示出的一种小程序的展示界面图。参考图3所示,可以通过宿主应用的小程序入口,进入小程序的展示界面,其中展示界面中可以展示用户最近使用的小程序以及推荐的小程序等,还可以通过搜索功能搜索需要的小程序,在一个示例中,可以通过点击界面中某个小程序,启动该小程序。
61.步骤s203,在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。
62.本公开实施例中,所述子进程可以由宿主应用的主进程预先创建,在一个示例中,可以在宿主应用启动时,创建子进程。在另一个示例中,可以在宿主应用运行时,进入小程序的入口界面时,创建子进程。确定子进程预加载小程序的方式可以包括:宿主应用的主进程创建子进程加载小程序的记录,例如子进程a预先加载了小程序a;子进程b预先加载了小程序b;子进程c预先加载了小程序c等。本公开实施例中对预先加载的小程序的种类不做限制,例如,预先加载的小程序可以包括用户使用频率较高的小程序,最近预设时段内应用过的小程序,最近多数账户使用频率较高的小程序,又或者根据用户的位置信息,确定的预设范围内使用频率较高的小程序等。
63.本公开实施例中,所述主程序可用条件可以预先设置。在一个示例中,可以从安装宿主应用的电子设备的性能进行设置,例如,电子设备当前的内存大小;使用小程序的记录,比如用户曾经使用小程序时,出现内存资源紧张的记录。在另一个示例中,可以利用宿主应用的服务器获取多个账户对小程序的使用数据,例如小程序占用内存、cpu资源大小、小程序属性,是否为开发者定制等。在另一个示例中,还可以综合考虑宿主应用的电子设备性能以及服务器中多个账户对向程序的使用数据。例如可以建立优先级条件模式,优先级高的条件,对应的权值较大,小程序的重要性得分为符合各种条件的加权和。再例如,可以设置满足预设数量条件的小程序,可以被认定为主程序可用。需要说明的是,主程序可用条件的设置方式不限于上述举例,例如,服务器可以对用户使用小程序的数据进行聚类分析,以确定小程序的可用性,所属领域技术人员在本技术技术精髓的启示下,还可能做出其它变更,但只要其实现的功能和效果与本技术相同或相似,均应涵盖于本技术保护范围内。
64.本公开实施例中,利用宿主应用的主程序启动小程序的方法可以包括利用宿主应
用构建小程序视图层和逻辑层的js引擎、加载小程序的运行环境程序包,加载小程序的业务包等。
65.本公开实施例提供了小程序的启动方法,通过设置主程序可用条件,进而在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。解决了当宿主应用刚启动或预加载的子进程被后台释放等情况发生时,不能利用子进程预加载小程序,导致小程序启动速度极慢的技术问题,提高了小程序的启动速度,满足用户快速使用小程序的需求。
66.在一种可能的实现方式中,确定所述小程序是否满足主进程可用条件的方式,包括:
67.获取安装所述宿主应用的电子设备当前的内存数据;
68.将所述内存数据发送至所述宿主应用的服务器,以指示所述服务器根据所述内存数据、以及安装所述宿主应用的多个电子设备的所述小程序的历史使用数据,确定所述小程序是否可用所述宿主应用的主进程启动。
69.本公开实施例中,电子设备的内存数据可以包括内存总空间、可用空间、cpu资源占用率等。所述历史使用数据可以包括历史使用过程中小程序占用内存的大小,小程序运行时cpu的占用率等。在一个示例中,可以对多个电子设备的小程序的历史使用数据进行聚类分析,确定小程序是否适用于主进程可用条件,例如,小程序a在使用时,超过用户总数中有较高比例的用户的电子设备出现内存资源紧张或者cpu资源占用率高等现象,则小程序a为主进程可用的优先级不高。进一步的,结合电子设备当前的内存数据,进行综合判断。例如上述小程序a的优先级不高,且电子设备当前的内存数据较小,则小程序满足主进程可用的可能性较小。再例如上述小程序a的优先级不高,且电子设备当前内存数据较大,cpu占用率不高,则小程序满足主进程可用的可能性较大。在一个示例中,可以逐一设置主程序可用的子条件:子条件1、子条件2、子条件3。其中,子条件可以包括内存空间是否满足,cpu占用率是否满足,小程序的重要等级,小程序的是否为定制属性等多种,在多数子条件满足要求的情况下,被确定为主进程可用条件满足。在一个示例中,可以为每个子条件设置对应的权重,总分为各子条件的加权和,在总分大于预设值的情况下,被确定为主进程可用条件满足。
70.本公开实施例,通过获取电子设备当前的内存数据以及多个电子设备的历史使用数据,能够筛选出满足主进程可用条件的小程序,保证了利用宿主应用主进程启动小程序的过程中,不影响电子设备的使用性能,并提高了小程序的启动速度。
71.在一种可能的实现方式中,所述利用所述宿主应用的主进程启动所述小程序,包括:
72.利用所述宿主应用的主进程获取所述小程序的标识信息;
73.创建与所述标识信息相匹配的虚拟机环境,
74.在所述虚拟机环境中启动所述小程序。
75.本公开实施例中,所述虚拟机环境可以包括一种虚拟的环境,运行在一个隔离的分区,配备虚拟硬件资源。所述虚拟机环境可以封装小程序运行时需要的接口能力,例如视图层的渲染能力,逻辑层引擎能力,小程序业务包和分包管理能力、定位能力和音频、视频播放能力。该虚拟机环境是一个独立的作业环境,在虚拟机环境中运行程序不会对硬盘产
生永久性的影响,因此,虚拟机环境中可以运行或使用一些不受信任的应用程序或网页浏览。本公开实施例中,所述标识信息可以包括唯一识别标识,例如字符串编码、数字编码或者字符与数字的组合等。通过标识信息可以唯一识别对应的小程序。本公开实施例中创建虚拟机环境的方法可以包括加载虚拟镜像文件,进行参数配置等,本公开对此不作限制。在一个示例中,可以宿主应用的主进程启动或运行多个小程序,每个小程序对应专属的虚拟机环境,从而各个小程序之间相互独立,互不影响。
76.本公开实施例中,通过创建与标识信息相匹配的虚拟机环境,从而建立了小程序与虚拟机环境一一对应的关系。保证了小程序与宿主应用主进程之间的隔离,提高了小程序启动和运行的安全性和稳定性。
77.在一种可能的实现方式中,所述在所述虚拟机环境中启动所述小程序,包括:
78.在所述虚拟机环境中,加载所述小程序对应通用能力的程序包,所述程序包中封装了多种预设的功能组件;
79.在所述程序包加载成功后,加载所述小程序的业务程序包。
80.本公开实施例中,通用能力的程序包中封装了多种预设功能组件,包括视图层的功能组件和逻辑层的功能组件。其中,所述功能组件的种类可以包括应用程序编程接口的组合,可以包括多种,例如使用宿主应用的资源交互功能,转发功能,收藏功能,分享功能,开启摄像头的功能等。在一个示例中,将多种功能组件封装在程序包中,在加载小程序的业务程序包前先加载所述程序包。所述在小程序的业务程序包设置有所述程序包的依赖路径,则业务程序包无需开发通用能力的程序包中的功能组件,也可以调用通用能力程序包中功能。在一个示例中,当需要调用通用能力中的功能时,可以设置相关的权限提示信息,在账户授权的情况下,执行对应的功能。在一个示例中,可以将多个所述小程序的业务程序包进行整合,存储于宿主应用对应的服务器上。在另一个示例中,多个所述小程序的业务程序包也可以存放在不同的服务器上。
81.本公开实施例中,所述业务程序包(软件开发工具包sdk)可以包含小程序具体的业务功能代码包。不同的小程序对应的业务程序包不相同。需要说明的是,在启动小程序的过程中还需要进行一些常规的执行程序,例如小程序渲染引擎的加载、初始化、小程序页面栈处理逻辑的构建等,本公开在此不再赘述。
82.本公开实施例通过在加载小程序业务程序包前加载通用能力的程序包,可以减少业务程序包括对通用能力的开发任务,降低业务程序包的开发难度。
83.在一种可能的实现方式中,响应于所述小程序的关闭指令,释放所述小程序对应的虚拟机环境,以释放所述小程序占用的系统资源。
84.本公开实施例中,小程序的关闭指令可以包括接收到用户对关闭控件的操作指令或者用户在预设时段以上没有对小程序进行操作。本公开实施例中,所述系统资源可以包括内存资源、文件资源、线程资源等。本公开实施例中,小程序与虚拟机环境可以包括一一对应的关系,因此,当释放小程序对应的虚拟机环境时,则表示释放了小程序占用的系统资源。
85.因此,本公开实施例,在利用宿主应用的主进程释放小程序对应的虚拟机环境后,可以实现该虚拟机环境对应小程序占用的系统资源的精准释放。同时,宿主应用的主进程没有释放,可以进行相关的主进程业务。在主进程包含多个虚拟机环境的情况下,释放其中
一个小程序,不会对其他小程序造成任何影响。
86.在一种可能的实现方式中,在所述获取宿主应用内小程序的启动指令之后还包括:
87.在存在子进程预加载所述小程序的情况下,利用所述子进程启动所述小程序。
88.本公开实施例中,可以利用宿主应用的主进程创建子进程加载小程序的记录表,例如子进程a预先加载了小程序a;子进程b预先加载了小程序b;子进程c预先加载了小程序c等。本公开实施例中对预先加载的小程序的种类不做限制,例如,预先加载的小程序可以包括用户使用频率较高的小程序,最近预设时段内应用过的小程序,最近多数账户使用频率较高的小程序,又或者根据用户的位置信息,确定的预设范围内使用频率较高的小程序等。在一个示例中,可以从上述记录表中获取预加载的小程序,并确定所述小程序是否被预加载。在存在子进程预加载所述小程序的情况下,利用所述子进程启动所述小程序。在一个示例中,通过子进程加载的小程序进行释放时,可以直接关闭整个子进程。
89.本公开实施例,在存在子进程预加载所述小程序的情况下,利用所述子进程启动所述小程序;在不存在子进程预加载所述小程序,且所述小程序满足主进程可用的条件的情况下,利用所述宿主应用的主进程启动所述小程序。两方面综合使用,对于多种小程序来说,可以从整体上提高多种小程序的启动速度。
90.图4是根据另一示例性实施例示出的一种小程序的启动方法的流程图。参考图4所示,所述方法包括:
91.步骤s201,获取宿主应用内小程序的启动指令。
92.本公开实施例中,所述小程序可以包括不需要下载安装也可以使用的应用,在一个示例中,用户可以通过宿主应用中的“扫一扫”功能或搜索功能启动小程序。在另一个示例中,宿主应用还可以展示多种小程序的界面,或用户历史使用的小程序的界面,用户可以在上述界面中进行小程序的选择,以启动小程序。
93.步骤s401,在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程获取所述小程序的标识信息。
94.本公开实施例中,所述子进程可以由宿主应用的主进程预先创建,在一个示例中,可以在宿主应用启动时,创建子进程。本公开实施例中对预先加载的小程序的种类不做限制,例如,预先加载的小程序可以包括用户使用频率较高的小程序,最近预设时段内应用过的小程序,最近多数账户使用频率较高的小程序,又或者根据用户的位置信息,确定的预设范围内使用频率较高的小程序等。
95.步骤s403,创建与所述标识信息相匹配的虚拟机环境。
96.本公开实施例中,所述虚拟机环境可以包括一种虚拟的环境,运行在一个隔离的分区,配备虚拟硬件资源。所述虚拟机环境可以封装小程序运行时需要的接口能力,例如视图层的渲染能力,逻辑层引擎能力,小程序业务包和分包管理能力、定位能力和音频、视频播放能力。本公开实施例中创建虚拟机环境的方法可以包括加载虚拟镜像文件,进行参数配置等,本公开对此不作限制。在一个示例中,可以宿主应用的主进程启动或运行多个小程序,每个小程序对应专属的虚拟机环境,从而各个小程序之间相互独立,互不影响。
97.步骤s405,在所述虚拟机环境中,加载所述小程序对应通用能力的程序包,所述程序包中封装了多种预设的功能组件。
98.步骤s407,在所述程序包加载成功后,加载所述小程序的业务程序包。
99.本公开实施例中,通用能力的程序包中封装了多种预设功能组件,包括视图层的功能组件和逻辑层的功能组件。其中,所述功能组件的种类可以包括应用程序编程接口的组合,可以包括多种,例如使用宿主应用的资源交互功能,转发功能,收藏功能,分享功能,开启摄像头的功能等。在一个示例中,将多种功能组件封装在程序包中,在加载小程序的业务程序包前先加载所述程序包。所述在小程序的业务程序包设置有所述程序包的依赖路径,则业务程序包无需开发通用能力的程序包中的功能组件,也可以调用通用能力程序包中功能。本公开实施例中,所述业务程序包(软件开发工具包sdk)可以包含小程序具体的业务功能代码包。不同的小程序对应的业务程序包不相同。
100.步骤s409,响应于所述小程序的关闭指令,释放所述小程序对应的虚拟机环境,以释放所述小程序占用的系统资源。
101.本公开实施例中,小程序的关闭指令可以包括接收到用户对关闭控件的操作指令或者用户在预设时段以上没有对小程序进行操作。本公开实施例中,所述系统资源可以包括内存资源、文件资源、线程资源等。本公开实施例中,小程序与虚拟机环境可以包括一一对应的关系,因此,当释放小程序对应的虚拟机环境时,则表示释放了小程序占用的系统资源。
102.应该理解的是,虽然流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
103.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
104.图5是根据一示例性实施例示出的一种小程序的启动装置的框图。参照图5,该装置700包括:
105.第一获取模块501,用于获取宿主应用内小程序的启动指令;
106.第一启动模块503,用于在不存在子进程预加载所述小程序,且所述小程序满足主进程可用条件的情况下,利用所述宿主应用的主进程启动所述小程序。
107.在一种可能的实现方式中,所述装置还包括:
108.第二获取,用于获取安装所述宿主应用的电子设备当前的内存数据;
109.确定模块,用于将所述内存数据发送至所述宿主应用的服务器,以指示所述服务器根据所述内存数据、以及安装所述宿主应用的多个电子设备的所述小程序的历史使用数据,确定所述小程序是否可用所述宿主应用的主进程启动。
110.在一种可能的实现方式中,所述启动模块,包括:
111.获取子模块,用于利用所述宿主应用的主进程获取所述小程序的标识信息;
112.创建子模块,用于创建与所述标识信息相匹配的虚拟机环境,
113.启动子模块,用于在所述虚拟机环境中启动所述小程序。
114.在一种可能的实现方式中,所述启动子模块,包括:
115.第一加载单元,用于在所述虚拟机环境中,加载所述小程序对应通用能力的程序包,所述程序包中封装了多种预设的功能组件;
116.第二加载单元,用于在所述程序包加载成功后,加载所述小程序的业务程序包。
117.在一种可能的实现方式中,所述装置还包括:
118.释放模块,用于响应于所述小程序的关闭指令,释放所述小程序对应的虚拟机环境,以释放所述小程序占用的系统资源。
119.在一种可能的实现方式中,所述装置还包括:
120.第二启动模块,用于在存在子进程预加载所述小程序的情况下,利用所述子进程启动所述小程序。
121.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
122.图6是根据一示例性实施例示出的一种用于小程序的启动的电子设备600的框图。例如,电子设备600可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
123.参照图6,电子设备600可以包括以下一个或多个组件:处理组件602、存储器604、电源组件606、多媒体组件608、音频组件610、输入/输出(i/o)的接口612、传感器组件614以及通信组件616。
124.处理组件602通常控制电子设备600的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
125.存储器604被配置为存储各种类型的数据以支持在电子设备600的操作。这些数据的示例包括用于在电子设备600上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘、光盘或石墨烯存储器。
126.电源组件606为电子设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为电子设备600生成、管理和分配电力相关联的组件。
127.多媒体组件608包括在所述电子设备600和用户之间的提供输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括前置摄像头和/或后置摄像头。当电子设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是固定的光学透镜系统或具有焦距和光学变焦能力。
128.音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括麦克风(mic),当电子设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括扬声器,用于输出音频信号。
129.i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
130.传感器组件614包括一个或多个传感器,用于为电子设备600提供各个方面的状态评估。例如,传感器组件614可以检测到电子设备600的打开/关闭状态,组件的相对定位,例如所述组件为电子设备600的显示器和小键盘,传感器组件614还可以检测电子设备600或电子设备600组件的位置改变,用户与电子设备600接触的存在或不存在,设备600方位或加速/减速和电子设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
131.通信组件616被配置为便于电子设备600和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
132.在示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
133.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器604,上述指令可由电子设备600的处理器620执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
134.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指令,上述指令可由电子设备600的处理器620执行以完成上述方法。
135.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
136.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
137.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并
且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献