CN110990075B - 快应用的启动方法、装置、设备及存储介质 - Google Patents
快应用的启动方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110990075B CN110990075B CN201911129281.XA CN201911129281A CN110990075B CN 110990075 B CN110990075 B CN 110990075B CN 201911129281 A CN201911129281 A CN 201911129281A CN 110990075 B CN110990075 B CN 110990075B
- Authority
- CN
- China
- Prior art keywords
- point
- fast application
- call
- function point
- function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Abstract
本公开公开了一种快应用的启动方法、装置、设备及存储介质,应用于计算机领域。该方法包括:在启动第一快应用后,在第一进程中运行快应用框架;当第一快应用需要调用第一功能点时,通过第一进程向第一功能点所在的第二进程发送调用请求,第二进程与第一进程的启动时间不同;通过第二进程向第一进程返回调用结果,调用结果是根据调用请求中的调用信息得到的结果。本公开通过将快应用框架和功能点分离到不同进程中运行,加快了快应用框架的启动速度。
Description
技术领域
本公开涉及计算机领域,特别涉及一种快应用的启动方法、装置、设备及存储介质。
背景技术
快应用是一种基于硬件平台的新型应用形态。快应用使用前端技术栈开发,原生渲染,可以同时具备HTML5(HyperText Markup Language,超文本标记语言)页面和原生应用的双重优点。快应用包括快应用框架以及多个的功能点(Feature),所有的快应用都是基于快应用框架开发运行的,不同快应用可能用到的功能点不同。
相关技术中,快应用框架中集成了快应用框架可以提供的所有功能点。当要启动某个快应用时,需要快应用的进程中启动快应用框架以及快应用框架下的所有功能点。
相关技术中快应用的启动速度过慢。
发明内容
本公开实施例提供了一种快应用的启动方法、装置、设备及存储介质,可以解决相关技术中快应用的启动速度过慢的问题。所述技术方案如下:
根据本公开的一个方面,提供了一种快应用的启动方法,所述方法应用于终端中,所述终端中运行有至少一个快应用,所述快应用基于快应用框架运行,所述快应用框架提供的全部或部分功能点具有在所述快应用框架外独立运行的能力,所述方法包括:
在启动第一快应用后,在第一进程中运行所述快应用框架;
当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,所述第二进程与所述第一进程的启动时间不同;
通过所述第二进程向所述第一进程返回调用结果,所述调用结果是根据所述调用请求中的调用信息得到的结果。
可选地,所述当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求之前,还包括:
当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
当所述第一功能点没有处于运行状态时,启动所述第二进程运行所述第一功能点。
可选地,所述当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,包括:
当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
当所述第一功能点处于运行状态时,执行所述通过所述第一进程向所述第一功能点所在的所述第二进程发送所述调用请求的步骤。
可选地,所述通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,包括:
通过所述第一进程向中转进程发送第一调用请求,所述中转进程是中转程序对应的进程,所述中转程序用于连接所述快应用框架和全部功能点,所述中转程序运行在所述中转进程上,所述第一调用请求包括所述第一功能点的标识和调用信息;
通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程。
可选地,所述通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程,包括:
当所述第一功能点是第一类功能点时,通过所述中转进程根据所述标识查询所述第一功能点所在的第二进程的第二进程地址,所述第一类功能点是所述快应用框架能直接调用的功能点;
通过所述中转进程向所述快应用框架所在的第一进程返回所述第二进程地址;
通过所述第一进程根据所述第二进程地址,向所述第一功能点所在的第二进程发送第二调用请求,所述第二调用请求包括调用信息。
可选地,所述通过所述第二进程返回调用结果,包括:
通过所述第二进程向所述快应用框架返回调用结果。
可选地,所述通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程,包括:
当所述第一功能点是第二类功能点时,通过所述中转进程根据所述标识,向所述第一功能点所在的第二进程发送所述调用信息,所述第二类功能点是所述快应用框架通过所述中转进程间接调用的功能点。
可选地,所述通过所述第二进程返回调用结果,包括:
通过所述第二进程向所述中转程序返回调用结果,所述调用结果是根据所述调用信息得到的结果;
通过所述中转进程向所述快应用框架返回调用结果。
根据本公开的另一方面,提供了一种快应用的启动装置,所述装置是组成终端的一部分,所述终端中运行有至少一个快应用,所述快应用基于快应用框架运行,所述快应用框架提供的全部或部分功能点具有在所述快应用框架外独立运行的能力,所述装置包括:
启动模块,被配置为启动第一快应用;
第一进程模块,被配置为运行所述快应用框架;
所述第一进程模块,还被配置为当所述第一快应用需要调用第一功能点时,向所述第一功能点所在的第二进程发送调用请求,所述第二进程与所述第一进程的启动时间不同;
第二进程模块,被配置为向所述第一进程返回调用结果,所述调用结果是根据所述调用请求中的调用信息得到的结果。
可选地,所述装置还包括:获取模块;
所述获取模块,被配置为当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
所述启动模块,还被配置为当所述第一功能点没有处于运行状态时,启动所述第二进程运行所述第一功能点。
可选地,所述装置还包括:获取模块;
所述获取模块,被配置为当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
所述第一进程模块,还被配置为当所述第一功能点处于运行状态时,执行所述通过所述第一进程向所述第一功能点所在的所述第二进程发送所述调用请求的步骤。
可选地,所述装置还包括:中转进程模块;
所述第一进程模块,还被配置为向中转进程发送第一调用请求,所述中转进程是中转程序对应的进程,所述中转程序用于连接所述快应用框架和全部功能点,所述中转程序运行在所述中转进程上,所述第一调用请求包括所述第一功能点的标识和调用信息;
所述中转进程模块,被配置为根据所述第一功能点的标识,调用所述第一功能点所在的第二进程。
可选地,所述中转进程模块,还被配置为当所述第一功能点是第一类功能点时,根据所述标识查询所述第一功能点所在的第二进程的第二进程地址,所述第一类功能点是所述快应用框架能直接调用的功能点;
所述中转进程模块,还被配置为向所述快应用框架所在的第一进程返回所述第二进程地址;
所述第一进程模块,还被配置为根据所述第二进程地址,向所述第一功能点所在的第二进程发送第二调用请求,所述第二调用请求包括调用信息。
可选地,所述第二进程模块,还被配置为向所述快应用框架返回调用结果。
可选地,所述中转进程模块,还被配置为当所述第一功能点是第二类功能点时,根据所述标识,向所述第一功能点所在的第二进程发送所述调用信息,所述第二类功能点是所述快应用框架通过所述中转进程间接调用的功能点。
可选地,所述第二进程模块,还被配置为向所述中转程序返回调用结果,所述调用结果是根据所述调用信息得到的结果;
所述中转进程模块,还被配置为向所述快应用框架返回调用结果。
根据本公开的另一方面,提供了一种计算机设备,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的快应用的启动方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上方面所述的快应用的启动方法。
本公开实施例提供的技术方案可以包括以下有益效果:
通过将快应用框架提供的全部或部分功能点与快应用框架的进程分离,当启动快应用时,只需要在进程中运行快应用框架,不需要运行功能点,当快应用需要调用某个功能点时,快应用框架到功能点所在的进程调用该功能点即可。将快应用框架与功能点分离,不需要在启动快应用框架时就预加载快应用框架所提供的所有功能点,当快应用需要用到某个功能点时,可以单独启动某个功能点对应的进程,大大减轻了快应用在启动时的负载,减少快应用的启动时间。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开一个示例性实施例提供的实施环境的框图;
图2是本公开一个示例性实施例提供的快应用的启动方法的流程图;
图3是本公开另一个示例性实施例提供的快应用的启动方法的流程图;
图4是本公开另一个示例性实施例提供的快应用的启动方法的流程图;
图5是本公开一个示例性实施例提供的快应用框架的示意图;
图6是本公开一个示例性实施例提供的快应用初次使用的示意图;
图7是本公开一个示例性实施例提供的快应用的启动装置的框图;
图8是本公开一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
首先,对本公开实施例中涉及的名词进行介绍:
应用(Application,APP):是用户可以使用的各种程序设计语言,以及用各种程序设计语言编制的应用程序的集合。示例性的,应用指完成某项或多项特定工作的计算机程序,它运行在用户模式,可以和用户进行交互,具有可视的用户界面。示例性的,每个应用运行在独立的进程中,他们拥有自己独立的地址空间。
快应用:是基于手机硬件平台的新型应用形态。快应用使用前端技术栈开发,原生渲染,可以同时具备HTML5(HyperText Markup Language,超文本标记语言)页面和原生应用的双重优点。快应用下载后无需安装即可使用,且快应用占用内存远远小于原生应用,一般在几百kb左右。快应用边下载边解压无需弹出安装界面进行安装过程。快应用更新是实时获取更新数据实时更新无需安装更新包。快应用基于快应用框架运行,快应用框架集成在计算机操作系统中。任何原生应用都可以基于快应用框架开发为快应用,例如,视频应用、社交应用、图片应用、音乐应用、阅读应用、学习教育应用、金融理财应用、生活应用、办公应用、出行应用、购物应用、游戏应用等等。
快应用框架:是一套以前端开发技术栈为主进行应用开发的框架。示例性的,快应用框架采用前端开发模式,贴合前端开发者的思维习惯,同时大幅提升应用的性能,提供大量前端环境无法使用的系统能力,以及很多第三方服务的对接能力。示例性的,快应用框架是快应用开发和运行的基础。
功能点:是能够单独完成的某个具体业务流程的用户界面和/或程序代码的集合。示例性的,功能点是快应用框架为快应用提供的可以完成某个独立任务的用户界面和/或程序代码,快应用可以通过快应用框架调用某个功能点,以实现快应用中的某个需求。示例性的,快应用可能会用到快应用框架提供的全部或部分功能点。
示例性的,功能点包括:基本功能、界面交互、网络访问、文件数据、系统能力、安全、图形图像、声音音频、厂家服务、第三方服务中的至少一种。
示例性的,基本功能包括:应用上下文、日志打印、页面路由、后台运行、应用配置中的至少一种。界面交互包括:分享、弹窗、打开网页、通知消息中的至少一种。网络访问包括:上传下载、数据请求、websocket(基于TCP(Transmission Control Protocol,传输控制协议)的全双工通信协议)中的至少一种。文件数据包括:数据存储、文件存储、交换数据中的至少一种。系统能力包括:震动、二维码、传感器、剪贴板、地理位置、桌面图标、日历事件、网络状态、设备信息、屏幕亮度、系统音量、电量信息、应用管理、录音、联系人、发送短信、WiFi(Wireless Fidelity,无线上网)、蓝牙、闹钟、解压缩中的至少一种。安全包括密码算法。图形图像包括:多媒体、图片编辑中的至少一种。声音音频包括音频。厂商服务包括:推送、支付、统计、账号、健康中的至少一种。第三方服务包括:第三方支付、第三方分享、第三方账户中的至少一种。
例如,调用某个功能点实现如下业务流程/功能/任务:获取当前应用信息、打印一段文本、跳转到应用内的某个页面、启动后台运行、获取应用当前的语言环境、分享数据到其他应用、显示通知、上传下载文件、获取网络数据、创建websocket实例、触发震动、扫描二维码、监听重力感应数据、修改剪贴板内容、获取地理位置、获取桌面图标是否创建、插入日历事件、获取网络类型、获取设备信息、获得当前屏幕亮度值、获取当前多媒体音量、获取当前设备的电量信息、检测应用是否存在、开始录音、选择联系人、开始播放音频、停止播放音频、获取每个自然日的步数等。
示例性的,一个功能点下还有用于实现不同功能的不同程序。例如,多媒体功能点下包括实现:拍摄照片、拍摄视频、选择图片、选择多张图片、选择视频、选择多个视频、选择文件、将图片/视频保存到相册中、预览图片、获取系统铃声、设置系统铃声等功能的程序。
进程:是计算机中的程序关于某数据集合上的一次运行活动。示例性的,进程是系统进行资源分配和调度的基本单位,是操作系统结构的基础。示例性的,进程是程序的运行过程。示例性的,一个应用程序运行在一个进程中。示例性的,一个应用程序的运行可能还需要其他进程中的应用程序支持,例如,在外卖应用里提交支付会转到支付应用里进行支付,对支付应用的唤醒会打开一个新的进程;或,一个应用程序可以打开并列的多个进程,例如,在浏览器中打开多个网页,每个网页对应一个进程;即一个应用程序可能会对应多个进程。示例性的,一个进程中的应用程序可能被多个应用程序调用,例如,系统相册的进程可能被多个应用程序调用,读取相册内的照片;即一个进程可能还对应多个应用程序。
图1示出了本公开一个示例性实施例提供的计算机系统的结构框图。该计算机系统200包括:终端220、服务器240。
终端220安装和运行有快应用。该快应用可以是视频应用、社交应用、图片应用、音乐应用、阅读应用、学习教育应用、金融理财应用、生活应用、办公应用、出行应用、购物应用、游戏应用中的任意一种。终端220是用户使用的终端,用户使用终端220运行快应用,进行点击、浏览、查询、交流、支付、发送接收数据中的至少一种行为。
终端220通过无线网络或有线网络与服务器240相连。
服务器240包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。示意性的,服务器240包括处理器244和存储器242,存储器242又包括显示模块2421、控制模块2422和接收模块2423。服务器240用于为支持虚拟世界的应用程序提供后台服务。可选地,服务器240承担主要计算工作,终端220承担次要计算工作;或者,服务器240承担次要计算工作,终端220承担主要计算工作;或者,服务器240、终端220三者之间采用分布式计算架构进行协同计算。
终端220的设备类型包括:智能手机、平板电脑、智能家居、电视机、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。以下实施例以终端包括智能手机来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本公开实施例对终端的数量和设备类型不加以限定。
图2示出了本公开一个示例性实施例提供的快应用的启动方法的流程图,该方法可应用于如图1所示的计算机系统中的终端220中或该计算机系统中的其它终端中。
该方法应用于终端中,终端中运行有至少一个快应用,快应用是基于集成在操作系统中的快应用框架运行且无需手动安装的应用,终端中运行有至少一个快应用,快应用基于快应用框架运行,快应用框架提供的全部或部分功能点具有在快应用框架外独立运行的能力,该方法包括如下步骤:
步骤101,在启动第一快应用后,在第一进程中运行快应用框架。
终端在启动第一快应用后,在第一进程中运行快应用框架。
示例性的,第一快应用是基于快应用框架开发的,运行第一快应用需要运行快应用框架。示例性的,一个快应用的运行需要占据一个进程,即,若运行多个快应用,多个快应用会在不同进程中分别运行。示例性的,若运行多个快应用,需要同时运行多个快应用框架,示例性的,快应用和快应用框架在同一进程中运行。
示例性的,第一快应用运行在第一进程中,当终端启动第一快应用后,在第一进程中运行快应用框架。
步骤105,当第一快应用需要调用第一功能点时,通过第一进程向第一功能点所在的第二进程发送调用请求,第二进程与第一进程的启动时间不同。
当第一快应用需要调用第一功能点时,终端通过第一进程向第一功能点所在的第二进程发送调用请求。
示例性的,第一功能点是快应用框架提供的一种功能点,快应用可以通过快应用框架调用第一功能点,从而在第一快应用中使用第一功能点提供的功能。示例性的,第一功能点的程序独立在快应用框架的程序之外。即,第一功能点可以独立的运行在一个进程中。示例性的,快应用框架可以调用第一功能点的接口,通过IPC(Inter-ProcessCommunication,进程间通信)与第一功能点进行通信。
示例性的,第一功能点运行在第二进程。
示例性的,当第一快应用需要调用第一功能点时,第一快应用通过快应用框架向第一功能点发送调用请求。示例性的,快应用框架调用第一功能点的接口向第一功能点发送调用信息。调用信息用于指示第一功能点完成某种功能、任务或操作,并将调用的结果返回到快应用框架。调用信息是第一快应用要完成本次调用需要向第一功能点提供的信息。
例如,第一快应用是外卖应用,当第一快应用需要调用支付功能点时,第一快应用通过快应用框架,调用支付功能点的接口,向支付功能点发送调用信息,例如:订单号、支付方账号、收款方账号、支付数额等本次支付需要用到的信息,支付功能点可以根据调用信息完成本次支付。
示例性的,第一进程和第二进程的启动时间不同。即第一快应用的第一进程开启时,不会启动第一功能点,运行第二进程。第一功能点可以在第一快应用启动前就已经启动并运行,或,第一功能点可以在第一快应用启动后,再启动并运行,例如,第一功能点可以在第一快应用需要调用时,再启动。
步骤106,通过第二进程向第一进程返回调用结果,调用结果是根据调用请求中的调用信息得到的结果。
终端通过第二进程向第一进程返回调用结果,调用结果是根据调用请求中的调用信息得到的结果。
示例性的,第二进程在接收到第一进程发送的调用请求时,获取调用请求中的调用信息,根据调用信息调用第一功能点得到调用结果,之后终端通过第二进程将调用结果返回到第一进程,完成一次功能点的调用。
例如,第一快应用需要调用手机通讯录时,第一快应用通过快应用框架调用手机通讯录功能点的接口,向手机通讯录功能点发送通讯录读取请求,手机通讯录功能点在接收到通讯录读取请求后,读取手机通讯录列表,并将手机通讯录列表返回到快应用框架,完成第一快应用对手机通讯录的调用。
综上所述,本实施例提供的方法,通过将快应用框架提供的全部或部分功能点与快应用框架的进程分离,当启动快应用时,只需要在进程中运行快应用框架,不需要运行功能点,当快应用需要调用某个功能点时,快应用框架到功能点所在的进程调用该功能点即可。将快应用框架与功能点分离,不需要在启动快应用框架时就预加载快应用框架所提供的所有功能点,当快应用需要用到某个功能点时,可以单独启动某个功能点对应的进程,大大减轻了快应用在启动时的负载,减少快应用的启动时间。
示例性的,第一功能点可能比第一快应用的启动时间早,或第一功能点可能比第一快应用的启动时间晚。
示例性的,第一进程可以通过中转进程将调用请求发送至第二进程。
图3示出了本公开另一个示例性实施例提供的快应用的启动方法的流程图。该方法可应用于如图1所示的计算机系统中的终端220中或该计算机系统中的其它终端中。该方法包括如下步骤:
步骤101,在启动第一快应用后,在第一进程中运行快应用框架。
步骤102,当第一快应用需要调用第一功能点时,获取第一功能点的运行状态。
当第一快应用需要调用第一功能点时,终端获取第一功能点的运行状态。
示例性的,当第一快应用需要调用第一功能点时,终端判断第一功能点是否在运行。
示例性的,当第一快应用需要调用第一功能点时,第一快应用通过快应用框架调用中转进程的接口,向中转进程发送第一调用请求,第一调用请求中包括调用信息和第一功能点的标识,终端通过中转进程根据第一功能点的标识,获取第一功能点的运行状态。
中转进程是中转程序的进程,中转程序用于连接快应用框架和功能点。示例性的,所有快应用框架中都包含中转程序的接口,即,快应用框架可以获取到中转进程的接口,并向中转进程发送信息。示例性的,所有功能点都注册在中转程序中,即,中转程序中存有一一对应的功能点的标识和功能点的接口,中转进程通过功能点的标识来获取功能点对应的接口。第一功能点的标识是第一功能点注册在中转进程中的标识,中转进程通过第一功能点的标识获取第一功能点的接口。
步骤103,判断第一功能点是否在运行。
终端判断第一功能点是否在运行。若第一功能点在运行则进行步骤1051,否则进行步骤104。
示例性的,终端通过中转进程判断第一功能点是否在运行。
示例性的,终端判断是否运行有第二进程。
步骤104,当第一功能点没有处于运行状态时,启动第二进程运行第一功能点。
当第一功能点没有处于运行状态时,终端启动第二进程运行第一功能点。
示例性的,当终端判断第一功能点没有处于运行状态时,终端在第二进程中运行第一功能点。
示例性的,对于不常用的功能点,可以在快应用框架需要调用时,再启用,减少终端运行负载。示例性的,对于常用的功能点,可以使该功能点的进程始终保持运行状态,省略频繁调用功能点时,每次启动功能点都需要耗费的启动时间。
示例性的,不常用功能点在快应用框架需要调用时开始运行,在快应用框架调用结束时,或,向快应用框架返回调用结果后,结束运行。示例性的,当操作系统/终端开始运行时,常用功能点即开始运行;当操作系统/终端停止运行时,常用功能点停止运行。
步骤1051,当第一功能点处于运行状态时,通过第一进程向中转进程发送第一调用请求,中转进程是中转程序对应的进程,中转程序用于连接快应用框架和全部功能点,中转程序运行在中转进程上,第一调用请求包括第一功能点的标识和调用信息。
当第一功能点处于运行状态时,终端通过第一进程向中转进程发送第一调用请求。
示例性的,第一调用请求是第一进程向中转进程发送的调用第二进程的请求。示例性的,第一调用请求中包含第一进程的地址、调用信息和第一功能点的标识。第一进程的地址用来指示中转进程返回调用结果。第一功能点的标识用来告知中转进程需要调用的功能点,中转进程通过第一功能点的标识可以查询第一功能点的接口以及第一功能点注册在中转程序中的其他信息,例如,第一功能点的运行条件、第一功能点的调用权限等。
示例性的,中转程序用于辅助快应用框架与功能点之间的通信。
示例性的,中转进程始终处于运行状态。或,中转进程在接收到第一进程发送的第一调用请求后开始运行中转程序。
步骤1052,通过中转进程根据第一功能点的标识,调用第一功能点所在的第二进程。
终端通过中转进程根据第一功能点的标识,调用第一功能点所在的第二进程。
示例性的,中转进程根据第一功能点的标识查询到第一功能点的接口,与第二进程进行IPC通信,调用第一功能点所在的第二进程。
示例性的,中转进程向第二进程发送调用信息和第一进程地址。第二进程根据调用信息调用第一功能点。
步骤106,通过第二进程向第一进程返回调用结果,调用结果是根据调用请求中的调用信息得到的结果。
终端通过第二进程向第一进程返回调用结果,调用结果是根据调用请求中的调用信息得到的结果。
示例性的,第二进程根据第一进程地址,向第一进程返回调用结果。
综上所述,本实施例提供的方法,通过为不同功能点设置不同的启用时间,对于不常用的功能点,可以在快应用框架需要调用时,临时启动运行,在调用结束后即停止运行,将功能点独立到快应用框架的进程之外独立的运行,调用时启动,停用时停止,加快快应用启动的速度,减轻快应用运行时终端的运行负载;对于常用的功能点,控制常用功能点随着操作系统的运行而运行,随着操作系统的停止而停止,将功能点独立到快应用框架的进程之外独立的运行,加快快应用启动地速度,节省快应用框架频繁调用功能点时,功能点的启动时间,使功能点始终保持待命状态。
通过设置中转进程,当快应用框架需要调用某个功能点时,向中转进程发送调用请求,中转进程根据调用请求调用相应的功能点。将快应用框架与不同功能点的联系方式独立到快应用框架之外,缩短快应用框架的运行程序,加快快应用框架的启动速度。且当快应用框架需要接入新的功能点时,不需要对快应用框架做大的改动,只需要将新的功能点注册到中转程序中,快应用需要通过快应用框架调用新的功能点时,中转程序可以帮快应用框架获取到新功能点的接口,实现快应用对新功能点的调用。
通过将快应用框架和功能点分离,使快应用框架可以更广泛的应用到各类型设备中。例如,某设备硬件无法提供第一功能点的功能,若将第一功能点集成在快应用框架中,快应用框架运行在该设备上时,会产生错误,但将第一功能点与快应用框架分离后,快应用框架中没有第一功能点的相关程序,快应用框架可以正常运行在该设备中。当设备支持某个功能点时,可以不在设备内存储该功能点,使快应用框架可以运行在各类型设备中,方便快应用支持各类型设备。
通过将快应用框架和功能点分离,减少快应用框架的数据量,启动快应用时,快应用框架的启动不需要加载太多功能点,优化快应用的性能,加快启动速度,减少内存的占用。
通过将快应用框架和功能点分离,方便第三方开发者对功能点进行扩展。示例性的,只需要将第三方开发者扩展的功能点注册到中转程序中,就可以实现快应用程序对扩展功能点的调用。
通过将快应用框架和功能点分离,当快应用框架或各个功能点需要进行升级时,可以单独进行升级,更加方便快捷。
示例性的,第一进程通过中转进程与第二进程进行通信的方式有两种。
图4示出了本公开另一个示例性实施例提供的快应用的启动方法的流程图,该方法可应用于如图1所示的计算机系统中的终端220中或该计算机系统中的其它终端中。与图3所示的快应用的启动方法不同的是,用步骤201-205替换步骤1052,用步骤1061-1063替换步骤106。
步骤201,判断第一功能点类型。
终端判断判断第一功能点类型。当第一功能点是第一类功能点时,进行步骤202;当第一功能点是第二类功能点时,进行步骤205。
示例性的,终端通过中转进程查询第一功能点的类型,中转进程根据第一功能点的类型确定如何处理第一进程发送的调用请求。示例性的,中转进程根据第一调用请求中的第一功能点的标识,查询第一功能点对应的类型。
示例性的,类型是功能点注册在中转程序中的属性。示例性的,根据功能点的类型,中转进程确定该功能点与快应用框架之间的通信方式或调用方式。示例性的,一个功能点只有一种与快应用框架通信或被快应用框架调用的方式。
示例性的,功能点和快应用框架之间的通信方式或调用方式包括两种,一种是通过中转进程作为通信媒介进行间接调用或通信,一种是快应用框架通过中转进程查询功能点的接口或地址,快应用框架根据功能点的接口或地址与功能点直接进行通信或调用。
步骤202,当第一功能点是第一类功能点时,通过中转进程根据标识查询第一功能点所在的第二进程的第二进程地址,第一类功能点是快应用框架能直接调用的功能点。
当第一功能点是第一类功能点时,终端通过中转进程根据标识查询第一功能点所在的第二进程的第二进程地址。
示例性的,第一类功能点是通常调用数据量比较大的功能点,或,第一类功能点是通常一次调用需要多次重复进行数据传输的功能点。示例性的,第一类功能点的调用适合快应用框架与功能点之间直接调用,若第一类功能点与快应用框架之间通过中转进程调用,中转进程需要在第一进程和第二进程间转发大量的数据,调用效率过低。
第二进程地址是第二进程所在的地址。示例性的,第一进程可以根据第二进程地址将信息发送到第二进程,完成与第二进程间的通信。
步骤203,通过中转进程向快应用框架所在的第一进程返回第二进程地址。
终端通过中转进程向快应用框架所在的第一进程返回第二进程地址。
示例性的,中转进程向快应用框架返回第二进程地址。
步骤204,通过第一进程根据第二进程地址,向第一功能点所在的第二进程发送第二调用请求,第二调用请求包括调用信息。
终端通过第一进程根据第二进程地址,向第一功能点所在的第二进程发送第二调用请求,第二调用请求包括调用信息。
第一进程在接收到第二进程地址后,再次向第二进程地址发送第二调用请求,第二调用请求包括调用信息。示例性的,第二调用请求还可以包括第一进程的地址,第一进程的地址用于第二进程向第一进程发送信息。
步骤1061,通过第二进程向快应用框架返回调用结果。
终端通过第二进程向快应用框架返回调用结果。
第二进程获取到第二调用请求后,根据第二调用请求中的调用信息调用第一功能点,获得调用结果,并将调用结果返回至快应用框架。
步骤205,当第一功能点是第二类功能点时,通过中转进程根据标识,向第一功能点所在的第二进程发送调用信息,第二类功能点是快应用框架通过中转进程间接调用的功能点。
当第一功能点是第二类功能点时,终端通过中转进程根据标识,向第一功能点所在的第二进程发送调用信息。
示例性的,第二类功能点是通常调用数据量比较小的功能点,或,第二类功能点是通常调用过程较为简单的功能点。示例性的,第二类功能点的调用中的数据传输可以通过中转进程完成,即第一进程将调用请求发送到中转进程,中转进程查询到第一功能点的第二进程地址后,直接将调用请求中的调用信息发送至第二进程,第二进程再将调用结果返回至中转进程,中转进程再将调用结果转发到第一进程。第二类功能点的调用方式可以减少快应用框架进程的工作量,第一进程在向中转进程发出调用请求后可以直接获得调用结果,加快快应用框架的运行效率。
示例性的,当第一功能点是第二类功能点时,中转进程根据第一调用请求中的第一功能点的标识,查询第一功能点所在的第二进程的地址,并将第一调用请求转发至第二进程,或,向第二进程发送第三调用请求,第三调用请求中包括调用信息。
步骤1062,通过第二进程向中转程序返回调用结果,调用结果是根据调用信息得到的结果。
终端通过第二进程向中转程序返回调用结果,调用结果是根据调用信息得到的结果。
示例性的,当第一功能点是第二类功能点时,第二进程在接收到调用信息后,根据调用信息运行第一功能点,获得调用结果。第二进程将调用结果返回中转进程。
步骤1063,通过中转进程向快应用框架返回调用结果。
终端通过中转进程向快应用框架返回调用结果。
示例性的,中转进程在接收到第二进程返回的调用结果后,向第一进程转发调用结果,快应用框架接收到调用结果,完成第一快应用对第一功能点的调用。
综上所述,本实施例提供的方法,通过将功能点根据调用过程、调用数据量等分为两种类型,两种类型的功能点分别使用两种方式与快应用框架进行通信,提高快应用框架调用功能点的效率。
示例性的,上述实施例中提供的方法可以拆分后自由结合成新的实施例。
图5示出了本公开的一个示例性实施例示出的快应用框架的框图100,该快应用框架包括:场景入口120、快应用引擎140和操作系统(Operating System,OS)基础设施和硬件160。
场景入口120包括负一屏、全局搜索、锁屏、桌面、应用市场、浏览器和二维码中的至少一种。场景入口120的外在展现形式可以为页面形式和卡片形式。
快应用引擎140包括前端框架141、通用场景142、轻量化场景143、嵌入式SDK(Software Development Kit,软件开发工具包)144和业务接入145。
其中,前端框架141包括MVVM(Model-View-View-Model)、V-DOM、路由、基础API(Application Programming Interface,应用程序编程接口)、业务API、UI(UserInterface,用户界面)组件等;
通用场景142和轻量化场景143包括JavaScript引擎、标准渲染引擎、极速渲染引擎、端-云-芯加速、安全机制、新兴场景(AI(Artificial Intelligence,人工智能)、AR(Augmented Reality,增强现实)等)、系统整合(应用管理、权限管理等);
业务接入145包括推送(Push)、账号/支付等。
OS基础设施&硬件160包括:图形库、原生控件、系统服务和GPU(GraphicsProcessing Unit,图形处理器)/NPU(Neural-network Processing Unit,嵌入式神经网络处理器)等。
从执行路径层面,有标准的HTML5方式支撑通用的Web(网页)场景(一般通过系统的Webview(网页视图)组件或定制的Webview),以及JS(JavaScript)+Native的方式,支撑更轻量、更快速的体验。下面将按3个层面方面简要介绍快应用引擎的架构。
1)应用开发(前端框架+组件和API能力)
快应用的前端设计借鉴并整合了主流前端框架(Vue,React等)的设计思路:以组件化的方式构建应用,以数据绑定为核心的MVVM设计模式,以V-DOM的方式提升性能,同时选择了简洁清晰的类Vue的模板。同时对布局方面做了相应精简。从新的应用形态、映射原生UI、能力开放的角度,需要定义一套组件与API规范,方便开发这快速开发应用。
2)系统整合(应用管理,卡片-嵌入式SDK,安全机制等等)
快应用作为完整的应用形态,可以与系统深入整合,如同原生应用一样运行,以及和系统交互。快应用目前有两种形态:全屏方式的独立应用形态与嵌入方式的卡片形态。在独立应用的形态下,给用户的体验就像原生的应用程序,有完整的生命周期管理,页面管理,路由等。快应用可以寄生于安卓的Activity,页面寄生于Fragment,并通过独立的后台Service进行实例的管控。卡片则是另外一种形态,通过嵌入式SDK作为一个独立的局部控件嵌入到系统的各个角落,轻量化的展现动态内容。在安全隔离方面,可通过沙盒机制,进程隔离,权限控制,并结合操作系统层的支持做到较好的安全保障。
3)性能体验和新兴场景(JavaScript引擎,渲染引擎,端-云-芯加速,新兴场景)
在交互体验、资源开销和稳定性等方面,快应用通过引入原生渲染路径,进而实现前端开发方式+原生渲染与平台能力有效组合。
不同于其它的应用层的跨平台框架,快应用植根于手机的操作系统,可实现从芯片到操作系统到云的深度整合。端和云的结合以启动性能加速为例,通过云和端的协同渲染,网络链路层的优化可以大大加速快应用启动速度。同时可以整合硬件平台的特有能力,进一步提升体验。例如可以结合手机AI芯片,将NPU的算力整合到快应用引擎中来,使得AI场景(人脸识别、图像超分等)在端侧可以低延时、高性能的执行,同时又有效保护了用户的隐私,并节省带宽。
图6示出了本公开的一个示例性实施例示出的快应用的启动流程图,包括:
1)首次启动时,用户点击触发快应用的程序包的下载,同时做快应用引擎的初始化相关工作。当整个快应用的程序包下载与校验完成后,需要展示的第一个页面的JavaScript文件才会被加载并开始渲染。
2)页面渲染包括JavaScript加载、页面与JavaScript框架逻辑的执行、布局的运算,最终到原生UI控件的绘制。其中,页面内逻辑执行时会有一次或多次的网络请求(页面到应用自己的三方服务器的),网络请求返还的数据驱动页面的再次渲染,直至首屏内容完全展示。
这里网络请求JavaScript执行、排版与绘制并非简单的串行关系,而是并行化地交织在一起影响着整个页面的渲染性能,并与页面设计的逻辑、网络状况与设备运行的状态强相关。
由于快应用的特殊性,快应用被期待完成更多的任务,实现更多的功能。目前,快应用的功能正在逐步完善中,本公开实施例就是提供了一种快应用的新功能,利用该新功能实现将快应用框架与功能点分离,加快快应用框架的启动速度,扩展了快应用的功能,提高了快应用的处理能力以及实用性。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图7示出了本公开的一个示例性实施例提供的快应用的启动装置的结构示意图。该文件执行装置可以通过软件、硬件或者两者的结合实现成为DLNA服务器的部分或者全部。所述装置是组成终端的一部分,所述终端中运行有至少一个快应用,所述快应用基于快应用框架运行,所述快应用框架提供的全部或部分功能点具有在所述快应用框架外独立运行的能力,所述装置包括:
启动模块701,被配置为启动第一快应用;
第一进程模块702,被配置为运行所述快应用框架;
所述第一进程模块702,还被配置为当所述第一快应用需要调用第一功能点时,向所述第一功能点所在的第二进程发送调用请求,所述第二进程与所述第一进程的启动时间不同;
第二进程模块704,被配置为向所述第一进程返回调用结果,所述调用结果是根据所述调用请求中的调用信息得到的结果。
可选地,所述装置还包括:获取模块703;
所述获取模块703,被配置为当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
所述启动模块701,还被配置为当所述第一功能点没有处于运行状态时,启动所述第二进程运行所述第一功能点。
可选地,所述装置还包括:获取模块703;
所述获取模块703,被配置为当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
所述第一进程模块702,还被配置为当所述第一功能点处于运行状态时,执行所述通过所述第一进程向所述第一功能点所在的所述第二进程发送所述调用请求的步骤。
可选地,所述装置还包括:中转进程模块705;
所述第一进程模块702,还被配置为向中转进程发送第一调用请求,所述中转进程是中转程序对应的进程,所述中转程序用于连接所述快应用框架和全部功能点,所述中转程序运行在所述中转进程上,所述第一调用请求包括所述第一功能点的标识和调用信息;
所述中转进程模块705,被配置为根据所述第一功能点的标识,调用所述第一功能点所在的第二进程。
可选地,所述中转进程模块705,还被配置为当所述第一功能点是第一类功能点时,根据所述标识查询所述第一功能点所在的第二进程的第二进程地址,所述第一类功能点是所述快应用框架能直接调用的功能点;
所述中转进程模块705,还被配置为向所述快应用框架所在的第一进程返回所述第二进程地址;
所述第一进程模块702,还被配置为根据所述第二进程地址,向所述第一功能点所在的第二进程发送第二调用请求,所述第二调用请求包括调用信息。
可选地,所述第二进程模块704,还被配置为向所述快应用框架返回调用结果。
可选地,所述中转进程模块705,还被配置为当所述第一功能点是第二类功能点时,根据所述标识,向所述第一功能点所在的第二进程发送所述调用信息,所述第二类功能点是所述快应用框架通过所述中转进程间接调用的功能点。
可选地,所述第二进程模块704,还被配置为向所述中转程序返回调用结果,所述调用结果是根据所述调用信息得到的结果;
所述中转进程模块705,还被配置为向所述快应用框架返回调用结果。
需要说明的一点是,上述实施例提供的装置在实现快应用的启动功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8是根据一示例性实施例示出的一种用于快应用的启动装置1000的框图。例如,装置1000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,装置1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(Input/Output,I/O)接口1012,传感器组件1014,以及通信组件1016。
处理组件1002通常控制装置1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1002可以包括一个或多个处理器1020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理组件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。
存储器1004被配置为存储各种类型的数据以支持在装置1000的操作。这些数据的示例包括用于在装置1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM),可编程只读存储器(Programmable Read-Only Memory,PROM),只读存储器(Read-Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1006为装置1000的各种组件提供电力。电源组件1006可以包括电源管理系统,一个或多个电源,及其他与为装置1000生成、管理和分配电力相关联的组件。
多媒体组件1008包括在所述装置1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(TouchPane,TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当装置1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(Microphone,MIC),当装置1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。
I/O接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1014包括一个或多个传感器,用于为装置1000提供各个方面的状态评估。例如,传感器组件1014可以检测到装置1000的打开/关闭状态,组件的相对定位,例如所述组件为装置1000的显示器和小键盘,传感器组件1014还可以检测装置1000或装置1000一个组件的位置改变,用户与装置1000接触的存在或不存在,装置1000方位或加速/减速和装置1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)或CCD(Charge-Coupled Device,电荷耦合元件)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1016被配置为便于装置1000和其他设备之间有线或无线方式的通信。装置1000可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件1016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1016还包括近场通信(Near FieldCommunication,NFC)模块,以促进短程通信。
在示例性实施例中,装置1000可以被一个或多个应用专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、数字信号处理器(Demand-Side Platform,DSP)、数字信号处理设备(Demand-Side Platform Device,DSPD)、可编程逻辑器件(ProgrammableLogic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1004,上述指令可由装置1000的处理器1020执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM(Read-Only Memory,只读存储器)、随机存取存储器(Random Access Memory,RAM)、CD-ROM(Compact Disc Read-Only Memory,光盘只读存储器)、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置1000的处理器执行时,使得装置1000能够执行一种快应用的启动方法,所述方法应用于终端中,所述终端中运行有至少一个快应用,所述快应用基于快应用框架运行,所述快应用框架提供的全部或部分功能点具有在所述快应用框架外独立运行的能力,所述方法包括:
在启动第一快应用后,在第一进程中运行所述快应用框架;
当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,所述第二进程与所述第一进程的启动时间不同;
通过所述第二进程向所述第一进程返回调用结果,所述调用结果是根据所述调用请求中的调用信息得到的结果。
可选地,所述当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求之前,还包括:
当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
当所述第一功能点没有处于运行状态时,启动所述第二进程运行所述第一功能点。
可选地,所述当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,包括:
当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
当所述第一功能点处于运行状态时,执行所述通过所述第一进程向所述第一功能点所在的所述第二进程发送所述调用请求的步骤。
可选地,所述通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,包括:
通过所述第一进程向中转进程发送第一调用请求,所述中转进程是中转程序对应的进程,所述中转程序用于连接所述快应用框架和全部功能点,所述中转程序运行在所述中转进程上,所述第一调用请求包括所述第一功能点的标识和调用信息;
通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程。
可选地,所述通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程,包括:
当所述第一功能点是第一类功能点时,通过所述中转进程根据所述标识查询所述第一功能点所在的第二进程的第二进程地址,所述第一类功能点是所述快应用框架能直接调用的功能点;
通过所述中转进程向所述快应用框架所在的第一进程返回所述第二进程地址;
通过所述第一进程根据所述第二进程地址,向所述第一功能点所在的第二进程发送第二调用请求,所述第二调用请求包括调用信息。
可选地,所述通过所述第二进程返回调用结果,包括:
通过所述第二进程向所述快应用框架返回调用结果。
可选地,所述通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程,包括:
当所述第一功能点是第二类功能点时,通过所述中转进程根据所述标识,向所述第一功能点所在的第二进程发送所述调用信息,所述第二类功能点是所述快应用框架通过所述中转进程间接调用的功能点。
可选地,所述通过所述第二进程返回调用结果,包括:
通过所述第二进程向所述中转程序返回调用结果,所述调用结果是根据所述调用信息得到的结果;
通过所述中转进程向所述快应用框架返回调用结果。
本公开还提供了一种终端,该终端包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的快应用的启动方法。
本公开还提供一种计算机设备,该计算机设备包括:处理器和存储器,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的快应用的启动方法。
本公开还提供一种计算机可读存储介质,该存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述各方法实施例提供的快应用的启动方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (18)
1.一种快应用的启动方法,其特征在于,所述方法应用于终端中,所述终端中运行有至少一个快应用,所述快应用基于快应用框架运行,所述快应用框架提供的全部或部分功能点具有在所述快应用框架外独立运行的能力,所述方法包括:
在启动第一快应用后,在第一进程中运行所述快应用框架;
当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,所述第二进程与所述第一进程的启动时间不同;
通过所述第二进程向所述第一进程返回调用结果,所述调用结果是根据所述调用请求中的调用信息得到的结果。
2.根据权利要求1所述的方法,其特征在于,所述当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求之前,还包括:
当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
当所述第一功能点没有处于运行状态时,启动所述第二进程运行所述第一功能点。
3.根据权利要求1所述的方法,其特征在于,所述当所述第一快应用需要调用第一功能点时,通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,包括:
当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
当所述第一功能点处于运行状态时,执行所述通过所述第一进程向所述第一功能点所在的所述第二进程发送所述调用请求的步骤。
4.根据权利要求1至3任一所述的方法,其特征在于,所述通过所述第一进程向所述第一功能点所在的第二进程发送调用请求,包括:
通过所述第一进程向中转进程发送第一调用请求,所述中转进程是中转程序对应的进程,所述中转程序用于连接所述快应用框架和全部功能点,所述中转程序运行在所述中转进程上,所述第一调用请求包括所述第一功能点的标识和调用信息;
通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程。
5.根据权利要求4所述的方法,其特征在于,所述通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程,包括:
当所述第一功能点是第一类功能点时,通过所述中转进程根据所述标识查询所述第一功能点所在的第二进程的第二进程地址,所述第一类功能点是所述快应用框架能直接调用的功能点;
通过所述中转进程向所述快应用框架所在的第一进程返回所述第二进程地址;
通过所述第一进程根据所述第二进程地址,向所述第一功能点所在的第二进程发送第二调用请求,所述第二调用请求包括调用信息。
6.根据权利要求5所述的方法,其特征在于,所述通过所述第二进程返回调用结果,包括:
通过所述第二进程向所述快应用框架返回调用结果。
7.根据权利要求4所述的方法,其特征在于,所述通过所述中转进程根据所述第一功能点的标识,调用所述第一功能点所在的第二进程,包括:
当所述第一功能点是第二类功能点时,通过所述中转进程根据所述标识,向所述第一功能点所在的第二进程发送所述调用信息,所述第二类功能点是所述快应用框架通过所述中转进程间接调用的功能点。
8.根据权利要求7所述的方法,其特征在于,所述通过所述第二进程返回调用结果,包括:
通过所述第二进程向所述中转程序返回调用结果,所述调用结果是根据所述调用信息得到的结果;
通过所述中转进程向所述快应用框架返回调用结果。
9.一种快应用的启动装置,其特征在于,所述装置是组成终端的一部分,所述终端中运行有至少一个快应用,所述快应用基于快应用框架运行,所述快应用框架提供的全部或部分功能点具有在所述快应用框架外独立运行的能力,所述装置包括:
启动模块,被配置为启动第一快应用;
第一进程模块,被配置为运行所述快应用框架;
所述第一进程模块,还被配置为当所述第一快应用需要调用第一功能点时,向所述第一功能点所在的第二进程发送调用请求,所述第二进程与所述第一进程的启动时间不同;
第二进程模块,被配置为向所述第一进程返回调用结果,所述调用结果是根据所述调用请求中的调用信息得到的结果。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:获取模块;
所述获取模块,被配置为当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
所述启动模块,还被配置为当所述第一功能点没有处于运行状态时,启动所述第二进程运行所述第一功能点。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:获取模块;
所述获取模块,被配置为当所述第一快应用需要调用第一功能点时,获取所述第一功能点的运行状态;
所述第一进程模块,还被配置为当所述第一功能点处于运行状态时,执行所述通过所述第一进程向所述第一功能点所在的所述第二进程发送所述调用请求的步骤。
12.根据权利要求9至11任一所述的装置,其特征在于,所述装置还包括:中转进程模块;
所述第一进程模块,还被配置为向中转进程发送第一调用请求,所述中转进程是中转程序对应的进程,所述中转程序用于连接所述快应用框架和全部功能点,所述中转程序运行在所述中转进程上,所述第一调用请求包括所述第一功能点的标识和调用信息;
所述中转进程模块,被配置为根据所述第一功能点的标识,调用所述第一功能点所在的第二进程。
13.根据权利要求12所述的装置,其特征在于,
所述中转进程模块,还被配置为当所述第一功能点是第一类功能点时,根据所述标识查询所述第一功能点所在的第二进程的第二进程地址,所述第一类功能点是所述快应用框架能直接调用的功能点;
所述中转进程模块,还被配置为向所述快应用框架所在的第一进程返回所述第二进程地址;
所述第一进程模块,还被配置为根据所述第二进程地址,向所述第一功能点所在的第二进程发送第二调用请求,所述第二调用请求包括调用信息。
14.根据权利要求13所述的装置,其特征在于,
所述第二进程模块,还被配置为向所述快应用框架返回调用结果。
15.根据权利要求12所述的装置,其特征在于,
所述中转进程模块,还被配置为当所述第一功能点是第二类功能点时,根据所述标识,向所述第一功能点所在的第二进程发送所述调用信息,所述第二类功能点是所述快应用框架通过所述中转进程间接调用的功能点。
16.根据权利要求15所述的装置,其特征在于,
所述第二进程模块,还被配置为向所述中转程序返回调用结果,所述调用结果是根据所述调用信息得到的结果;
所述中转进程模块,还被配置为向所述快应用框架返回调用结果。
17.一种计算机设备,所述计算机包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行,以实现如权利要求1至8任一项所述的快应用的启动方法。
18.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行,以实现如权利要求1至8任一项所述的快应用的启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129281.XA CN110990075B (zh) | 2019-11-18 | 2019-11-18 | 快应用的启动方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129281.XA CN110990075B (zh) | 2019-11-18 | 2019-11-18 | 快应用的启动方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990075A CN110990075A (zh) | 2020-04-10 |
CN110990075B true CN110990075B (zh) | 2023-08-29 |
Family
ID=70085040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911129281.XA Active CN110990075B (zh) | 2019-11-18 | 2019-11-18 | 快应用的启动方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990075B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111666165A (zh) * | 2020-05-29 | 2020-09-15 | 深圳Tcl新技术有限公司 | 应用间功能调用的方法、装置、设备及存储介质 |
CN111857874A (zh) * | 2020-07-17 | 2020-10-30 | 上海擎感智能科技有限公司 | 快应用启动方法以及终端设备 |
CN112382294B (zh) * | 2020-11-05 | 2023-10-20 | 北京百度网讯科技有限公司 | 语音识别方法、装置、电子设备和存储介质 |
CN112559069B (zh) * | 2020-12-08 | 2022-04-12 | 腾讯科技(深圳)有限公司 | 子应用的运行控制方法、装置、存储介质和电子设备 |
CN112764836A (zh) * | 2021-01-28 | 2021-05-07 | 深圳市欢太科技有限公司 | 运行快应用的方法、装置及电子设备 |
CN113382109B (zh) * | 2021-05-11 | 2022-11-04 | Oppo广东移动通信有限公司 | 短信显示方法、装置、电子设备以及存储介质 |
CN113986423A (zh) * | 2021-10-19 | 2022-01-28 | 深圳Tcl新技术有限公司 | 一种弹框显示方法、系统及存储介质和终端设备 |
CN113722019B (zh) * | 2021-11-04 | 2022-02-08 | 海尔数字科技(青岛)有限公司 | 平台程序的显示方法、装置及设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639787A (zh) * | 2009-09-07 | 2010-02-03 | 中兴通讯股份有限公司 | 应用程序启动方法及装置 |
CN102541598A (zh) * | 2011-12-26 | 2012-07-04 | 深圳联友科技有限公司 | 一种动态加载组件的方法及系统 |
CN106126015A (zh) * | 2016-06-17 | 2016-11-16 | 广东欧珀移动通信有限公司 | 一种应用程序启动控制方法及终端 |
CN106445617A (zh) * | 2016-10-13 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 基于Android的应用程序冷启动优化方法及系统 |
CN107193577A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种应用启动方法、装置和智能终端 |
CN109117203A (zh) * | 2018-07-13 | 2019-01-01 | 广州小鹏汽车科技有限公司 | 一种Android APP启动速度优化方法及系统 |
CN109408150A (zh) * | 2018-10-30 | 2019-03-01 | 维沃移动通信有限公司 | 一种快应用加载方法及移动终端 |
CN109558187A (zh) * | 2017-09-27 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN110321178A (zh) * | 2019-06-28 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 附属应用端的启动处理方法、装置、设备及存储介质 |
CN110362319A (zh) * | 2018-03-26 | 2019-10-22 | 珠海市魅族科技有限公司 | 应用管理方法及装置、计算机装置和计算机可读存储介质 |
-
2019
- 2019-11-18 CN CN201911129281.XA patent/CN110990075B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639787A (zh) * | 2009-09-07 | 2010-02-03 | 中兴通讯股份有限公司 | 应用程序启动方法及装置 |
CN102541598A (zh) * | 2011-12-26 | 2012-07-04 | 深圳联友科技有限公司 | 一种动态加载组件的方法及系统 |
CN107193577A (zh) * | 2016-03-15 | 2017-09-22 | 阿里巴巴集团控股有限公司 | 一种应用启动方法、装置和智能终端 |
CN106126015A (zh) * | 2016-06-17 | 2016-11-16 | 广东欧珀移动通信有限公司 | 一种应用程序启动控制方法及终端 |
CN106445617A (zh) * | 2016-10-13 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 基于Android的应用程序冷启动优化方法及系统 |
CN109558187A (zh) * | 2017-09-27 | 2019-04-02 | 阿里巴巴集团控股有限公司 | 一种用户界面渲染方法及装置 |
CN110362319A (zh) * | 2018-03-26 | 2019-10-22 | 珠海市魅族科技有限公司 | 应用管理方法及装置、计算机装置和计算机可读存储介质 |
CN109117203A (zh) * | 2018-07-13 | 2019-01-01 | 广州小鹏汽车科技有限公司 | 一种Android APP启动速度优化方法及系统 |
CN109408150A (zh) * | 2018-10-30 | 2019-03-01 | 维沃移动通信有限公司 | 一种快应用加载方法及移动终端 |
CN110321178A (zh) * | 2019-06-28 | 2019-10-11 | 百度在线网络技术(北京)有限公司 | 附属应用端的启动处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110990075A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990075B (zh) | 快应用的启动方法、装置、设备及存储介质 | |
CN110874217B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN110990105B (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN111026396A (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
EP3848798A1 (en) | Information processing method and apparatus, storage medium, and electronic device | |
CN111026490B (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN111459586B (zh) | 远程协助方法、装置、存储介质及终端 | |
CN112420217B (zh) | 消息推送方法、装置、设备及存储介质 | |
CN111078325B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN111464424A (zh) | 信息共享方法、系统及非临时性计算机可读记录介质 | |
CN110851108A (zh) | 电子设备操作方法、装置、电子设备及存储介质 | |
CN110851240B (zh) | 功能调用方法、装置及存储介质 | |
CN113268212A (zh) | 投屏方法、装置、存储介质及电子设备 | |
CN110865863B (zh) | 快应用的界面显示方法、装置及存储介质 | |
CN111008057A (zh) | 页面展示方法、装置及存储介质 | |
CN110968362A (zh) | 应用运行方法、装置及存储介质 | |
US11507633B2 (en) | Card data display method and apparatus, and storage medium | |
CN114222003A (zh) | 服务调用方法、系统、装置、设备及存储介质 | |
CN110865864B (zh) | 快应用的界面显示方法、装置、设备及存储介质 | |
CN110971974B (zh) | 配置参数创建方法、装置、终端及存储介质 | |
EP3416070A1 (en) | Page display method and device and storage medium | |
CN112925788A (zh) | 一种数据集管理方法及系统、装置、电子设备和存储介质 | |
CN111104183B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
US11210119B2 (en) | Method and device for displaying interface, electronic equipment, server, and storage medium | |
CN111008050B (zh) | 页面任务执行方法、装置、终端及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |