CN112181406A - 一种渲染引擎的共享方法和装置 - Google Patents

一种渲染引擎的共享方法和装置 Download PDF

Info

Publication number
CN112181406A
CN112181406A CN201910517057.1A CN201910517057A CN112181406A CN 112181406 A CN112181406 A CN 112181406A CN 201910517057 A CN201910517057 A CN 201910517057A CN 112181406 A CN112181406 A CN 112181406A
Authority
CN
China
Prior art keywords
rendering engine
target
target object
target rendering
view component
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.)
Pending
Application number
CN201910517057.1A
Other languages
English (en)
Inventor
范金松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sogou Technology Development Co Ltd
Original Assignee
Beijing Sogou Technology Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sogou Technology Development Co Ltd filed Critical Beijing Sogou Technology Development Co Ltd
Priority to CN201910517057.1A priority Critical patent/CN112181406A/zh
Publication of CN112181406A publication Critical patent/CN112181406A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44557Code layout in executable memory
    • G06F9/44563Sharing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种渲染引擎的共享方法和装置,在目标对象创建页面视图组件前,可以对目标渲染引擎进行运行环境的初始化,通过运行环境的初始化,可以将目标渲染引擎替换智能终端所部署***原本的***渲染引擎。由此,当目标对象需要创建页面视图组件时,将会通过调用目标渲染引擎而不是调用***渲染引擎实现,由于目标渲染引擎的性能优于***渲染引擎,可以适用于更多的开发需求,而不再需要开发人员额外开发一套独立的渲染引擎。由此,开发人员在创建所开发目标对象的安装包时,不需要在安装包中额外打包渲染引擎,直接采用共享的目标渲染引擎即可,降低了安装包的大小,也降低了开发成本。

Description

一种渲染引擎的共享方法和装置
技术领域
本申请涉及数据处理领域,特别是涉及一种渲染引擎的共享方法和装置。
背景技术
随着智能终端领域的技术发展,智能终端上部署的对象例如程序、小程序、应用(Application,APP)等可以通过WebView(页面视图)组件展示Web页面,以为用户提供更丰富的服务。页面视图组件是一种智能终端***例如安卓***提供的、用于显示Web页面的***组件,通过调用智能终端***的渲染引擎实现显示、渲染Web页面等功能。
然而,智能终端***提供的渲染引擎性能较弱,大部分对象开发人员在开发能够提供页面视图组件功能的对象时,多会自行开发一套渲染引擎,以便对象在智能终端运行要创建页面视图组件时,可以通过调用自行开发的渲染引擎进行创建。
为此,开发人员在发布对象的安装包时,需要在安装包中打包自行开发的渲染引擎。由此增大了安装包的体积,使得下载、安装这类安装包会消耗额外的***资源,额外开发的渲染引擎也增加了对象的开发成本。
发明内容
为了解决上述技术问题,本申请提供了一种渲染引擎的共享方法和装置,不需要在安装包中额外打包渲染引擎,直接采用共享的目标渲染引擎即可,降低了安装包的大小,也降低了开发成本。
本申请实施例公开了如下技术方案:
第一方面,本申请实施例提供了一种渲染引擎的共享方法,所述方法包括:
获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
通过所述安装包在智能终端安装所述目标对象;
在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述确定所述目标渲染引擎,包括:
确定所述智能终端的共享区域中是否包括所述目标渲染引擎;
若是,从所述共享区域中确定所述目标渲染引擎;
若否,下载所述目标渲染引擎。
可选的,在所述确定目标渲染引擎之后,所述方法还包括:
将所述目标渲染引擎备份到安装所述目标对象的本地目录中。
可选的,所述方法还包括:
向服务器发送版本检测请求,所述版本检测请求包括所述目标渲染引擎的版本信息;
从所述服务器获取针对所述目标渲染引擎的版本信息的更新内容;
根据所述更新内容更新所述目标渲染引擎。
可选的,若安装所述目标对象的本地目录中和所述智能终端的共享区域中均包括所述目标渲染引擎,在所述向服务器发送版本检测请求之前,所述方法还包括:
若所述智能终端的共享区域中包括的目标渲染引擎的版本信息高于所述本地目录中包括的目标渲染引擎的版本信息,将所述本地目录中包括的目标渲染引擎替换为所述智能终端的共享区域中包括的目标渲染引擎。
可选的,所述目标渲染引擎包括差异性参数,所述差异性参数用于标识所述***渲染引擎在不同版本下的差异性。
可选的,所述根据所述目标渲染引擎为所述目标对象创建页面视图组件,包括:
确定所述智能终端的***渲染引擎的目标版本信息;
根据所述目标版本信息和所述差异性参数,通过所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述对目标渲染引擎进行运行环境的初始化,包括:
获取所述目标渲染引擎的软件开发工具包;
根据所述软件开发工具包,对所述目标渲染引擎进行运行环境的初始化。
可选的,所述将所述智能终端的***渲染引擎替换为所述目标渲染引擎,包括:
通过创建所述目标渲染引擎的实例,将所述智能终端的***渲染引擎替换为所述目标渲染引擎。
第二方面,本申请实施例提供了一种渲染引擎的共享装置,所述装置包括获取单元、安装单元、确定单元、替换单元和创建单元:
所述获取单元,用于获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
所述安装单元,用于通过所述安装包在智能终端安装所述目标对象;
所述确定单元,用于在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
所述替换单元,用于通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
所述创建单元,用于若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述确定单元,具体用于:
确定所述智能终端的共享区域中是否包括所述目标渲染引擎;
若是,从所述共享区域中确定所述目标渲染引擎;
若否,下载所述目标渲染引擎。
可选的,所述确定单元,还具体用于:
在所述确定目标渲染引擎之后,将所述目标渲染引擎备份到安装所述目标对象的本地目录中。
可选的,所述确定单元,还具体用于:
向服务器发送版本检测请求,所述版本检测请求包括所述目标渲染引擎的版本信息;
从所述服务器获取针对所述目标渲染引擎的版本信息的更新内容;
根据所述更新内容更新所述目标渲染引擎。
可选的,所述确定单元,还具体用于:
若安装所述目标对象的本地目录中和所述智能终端的共享区域中均包括所述目标渲染引擎,在所述向服务器发送版本检测请求之前,若所述智能终端的共享区域中包括的目标渲染引擎的版本信息高于所述本地目录中包括的目标渲染引擎的版本信息,将所述本地目录中包括的目标渲染引擎替换为所述智能终端的共享区域中包括的目标渲染引擎。
可选的,所述目标渲染引擎包括差异性参数,所述差异性参数用于标识所述***渲染引擎在不同版本下的差异性。
可选的,所述创建单元,具体用于:
确定所述智能终端的***渲染引擎的目标版本信息;
根据所述目标版本信息和所述差异性参数,通过所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述替换单元,具体用于:
获取所述目标渲染引擎的软件开发工具包;
根据所述软件开发工具包,对所述目标渲染引擎进行运行环境的初始化。
可选的,所述替换单元,还具体用于:
通过创建所述目标渲染引擎的实例,将所述智能终端的***渲染引擎替换为所述目标渲染引擎。
第三方面,本申请实施例提供了一种渲染引擎的共享设备,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
通过所述安装包在智能终端安装所述目标对象;
在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定所述智能终端的共享区域中是否包括所述目标渲染引擎;
若是,从所述共享区域中确定所述目标渲染引擎;
若否,下载所述目标渲染引擎。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
将所述目标渲染引擎备份到安装所述目标对象的本地目录中。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
向服务器发送版本检测请求,所述版本检测请求包括所述目标渲染引擎的版本信息;
从所述服务器获取针对所述目标渲染引擎的版本信息的更新内容;
根据所述更新内容更新所述目标渲染引擎。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
若所述智能终端的共享区域中包括的目标渲染引擎的版本信息高于所述本地目录中包括的目标渲染引擎的版本信息,将所述本地目录中包括的目标渲染引擎替换为所述智能终端的共享区域中包括的目标渲染引擎。
可选的,所述目标渲染引擎包括差异性参数,所述差异性参数用于标识所述***渲染引擎在不同版本下的差异性。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
确定所述智能终端的***渲染引擎的目标版本信息;
根据所述目标版本信息和所述差异性参数,通过所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取所述目标渲染引擎的软件开发工具包;
根据所述软件开发工具包,对所述目标渲染引擎进行运行环境的初始化。
可选的,所述处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
通过创建所述目标渲染引擎的实例,将所述智能终端的***渲染引擎替换为所述目标渲染引擎。
第四方面,本申请实施例提供了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如第一方面中的一个或多个所述的渲染引擎的共享方法。
由上述技术方案可以看出,在目标对象创建页面视图组件前,可以对目标渲染引擎进行运行环境的初始化,通过运行环境的初始化,可以将目标渲染引擎替换智能终端所部署***原本的***渲染引擎。由此,当目标对象需要创建页面视图组件时,将会通过调用目标渲染引擎而不是调用***渲染引擎实现,由于目标渲染引擎的性能优于***渲染引擎,可以适用于更多的开发需求,而不再需要开发人员额外开发一套独立的渲染引擎。由此,开发人员在创建所开发目标对象的安装包时,不需要在安装包中额外打包渲染引擎,直接采用共享的目标渲染引擎即可,降低了安装包的大小,也降低了开发成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种渲染引擎的共享方法流程图;
图2为本申请实施例提供的一种创建页面视图组件过程中涉及的安卓***架构示意图;
图3为本申请实施例提供的一种渲染引擎的共享装置结构图;
图4为本申请实施例提供的一种终端设备400的框图;
图5为本申请实施例提供的一种服务器的结构图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
目前,开发人员在开发对象时,为了解决智能终端提供的***渲染引擎性能较弱的问题,会在对象的安装包中打包自行开发的渲染引擎,由此增大了安装包的体积,使得下载、安装这类安装包会消耗额外的***资源,额外开发的渲染引擎也增加了对象的开发成本。
为此,本申请实施例提供了一种渲染引擎的共享方法,通过提供一个性能优于***渲染引擎的目标渲染引擎,作为共享渲染引擎,使得任意一个在智能终端上完成安装的对象,当需要创建与其对应的页面视图组件时,都可以调用该性能更优的共享渲染引擎来实现创建页面视图组件,并提供后续服务,而不是每个对象调用各自安装包内的渲染引擎,来实现创建页面视图组件功能。由此,为开发人员提供了基于性能更优的共享渲染引擎的开发可能。
接下来,对本申请实施例的应用场景进行介绍,本申请应用场景中可以包括智能终端,智能终端执行本申请实施例提供的渲染引擎的共享方法。智能终端具体可以为智能手机、计算机、个人数字助理(Personal Digital Assistant,PDA)、平板电脑等。
在该方法中,在将目标对象的安装包下载至智能终端后,可以进行目标对象的安装,其中,这里所述的目标对象可以为通过页面视图组件提供服务来实现一些功能的对象,且在该目标对象的安装包中不包括有为页面视图组件提供后台逻辑的渲染引擎,比如:目标对象可以为通过页面视图组件提供网页页面显示功能的游戏APP、且其安装包中未打包有渲染引擎。则,对于这种已在智能终端上完成安装的目标对象,在创建该目标对象对应的页面视图组件之前,可以确定出性能优于***渲染引擎的目标渲染引擎,即共享渲染引擎,当需要创建该目标对象对应的页面视图组件时,可以根据该共享的目标渲染引擎来创建该目标该对象对应的页面视图组件。
在本申请实施例中,针对于目标对象,可以通过替换渲染引擎的机制,关于创建该目标该对象对应的页面视图组件等功能,可以通过调用共享的目标渲染引擎,而不是调用性能较弱的***渲染引擎来实现。该替换渲染引擎的机制可以为,在确定出共享的目标渲染引擎之后,通过对目标渲染引擎进行运行环境的初始化,使得运行环境适用于目标渲染引擎,从而将目标渲染引擎替换为***渲染引擎,也就是实现由目标渲染引擎为目标对象提供网页视图组件功能的处理逻辑。需要说明的是,本申请实施例中的替换渲染引擎的操作是针对目标对象的,而不应理解为针对整个智能终端***的。由此,当需要创建该目标对象对应的页面视图组件时,就可以根据该共享渲染引擎,即性能更优的目标渲染引擎来创建该目标该对象对应的页面视图组件,以及提供后续服务。
由此可见,通过本申请实施例提供的渲染引擎的共享方法,通过提供一个性能较优的共享渲染引擎,使得针对于在智能终端上完成安装的不同的对象,都可以通过调用该共享渲染引擎,来实现目标对象的网页视图组件功能,由于该共享渲染引擎的性能优于***渲染引擎,可以适用于更多的开发需求,因此,开发人员在开发对象时,无需在额外开发一套独立的渲染引擎,降低了开发成本。而且,由于开发人员在创建所开发目标对象的安装包时,不需要在安装包中额外打包渲染引擎,而是直接采用共享的目标渲染引擎即可,从而降低了安装包的大小,避免了下载、安装这类安装包会消耗额外的***资源。
接下来,将结合图1对本申请实施例提供的一种页面视图组件的创建方法进行介绍,参见图1,该图示出了本申请实施例提供的一种页面视图组件的创建方法流程图,所述方法包括:
S101:获取目标对象的安装包。
这里所述的目标对象可以为通过页面视图组件提供服务来实现一些功能的对象,且在该目标对象的安装包中不包括有为页面视图组件提供后台逻辑的渲染引擎,目标对象的安装包可以为用于安装目标对象的文件。
S102:通过所述安装包在智能终端安装所述目标对象。
在获取到目标对象的安装包后,可以根据该安装包在智能终端上安装该目标对象。
S103:在所述目标对象创建页面视图组件之前,确定目标渲染引擎。
针对于智能终端中的***渲染引擎,可以预先开发一个性能优于该***渲染引擎的渲染引擎,记为目标渲染引擎。在具体实现中,目标渲染引擎可以为搜狗浏览器内核,其中,搜狗浏览器内核是基于谷歌Chromium进行深度开发的性能强大、功能丰富的浏览内核,该搜狗浏览器内核的性能大大优于不同版本的安卓***下的***渲染引擎,能够提升安卓***中的页面视图组件表现出的性能。此外,该搜狗浏览器内核可以保存在智能终端中的搜狗浏览器APP的安装包中,或者搜狗输入法APP的安装包中,或者其他搜狗产品的APP中。
在本申请实施例中,在创建该目标对象对应的页面视图组件之前,可以确定出目标渲染引擎。
需要说明的是,本申请实施例不限定确定目标渲染引擎的具体方法,可以根据不同的确定需求选择、设置适应性的确定方法。
在本申请实施例中,在对目标对象完成安装后,如果在安装该目标对象的本地目录中包括目标渲染引擎,则可以直接在安装该目标对象的本地目录中为目标对象确定出目标渲染引擎,其中,对象的本地目录可以为用户在智能终端中安装对象所对应的目录。如果在安装该目标对象的本地目录中不包括目标渲染引擎,这就无法从安装目标对象的本地目录中确定目标渲染引擎,而且,也不能直接调用其他对象的本地目录下的目标渲染引擎。则,在一种可能的实现方式中,确定目标渲染引擎的方法,可以包括:
S201:确定所述智能终端的共享区域中是否包括所述目标渲染引擎。
智能终端中可以包括有共享区域,该共享区域可以用于存储公用的文件、数据等,以便于部署在智能终端中的不同对象进行调用。在具体实现中,智能终端的共享区域可以为智能终端中的SD卡。
可以理解的是,在实际场景中,可能会出现在智能终端的共享区域中已经包括有目标渲染引擎的情形,比如:用户已经将目标渲染引擎下载至智能终端的共享区域中,以便于为安装在智能终端上的对象的调用。或者,在智能终端上的其他对象的安装包中包括有目标渲染引擎,将该对象的安装包中的目标渲染引擎备份到共享区域中。比如智能终端的搜狗浏览器APP的安装包中包括搜狗浏览器内核,则可以将该安装包内的搜狗浏览器内核备份至智能终端SD卡中。或者,在为当前的目标对象执行该渲染引擎的共享方法之前,可能已经为其他的对象执行过该方法。那么,如果在此之前已经为其他的对象执行过该方法,则在之前对其他的对象执行的过程中可以已经将目标渲染引擎下载至智能终端的共享区域中。比如:当前的目标对象为对象A,在为当前的对象A执行该渲染引擎的共享方法之前,可能已经为对象B执行过该方法,则,可以理解的是,为对象B确定目标渲染引擎之后,该目标渲染引擎应该已经保存在智能终端的共享区域中。
则,在本申请实施例中,可以在智能终端的共享区域中确定是否包括有目标渲染引擎。若是,则执行步骤S202,若否,则执行步骤S203。
S202:从所述共享区域中确定所述目标渲染引擎。
S203:下载所述目标渲染引擎。
其中,可以通过在云端下载目标渲染引擎或者下载包括有目标渲染引擎的对象的安装包以实现下载目标渲染引擎,比如下载搜狗浏览器内核,或者下载包括搜狗浏览器内核的搜狗浏览器APP等搜狗产品APP安装包。
由此,该目标渲染引擎的确定方法,通过先在智能终端的共享区域中确定是否包括有目标渲染引擎,若包括,则可以直接确定出目标渲染引擎,而无需再去下载目标渲染引擎,从而可以减少***资源的浪费,提升目标渲染引擎的确定效率。若不包括,再去下载目标渲染引擎,从而便于为其他的对象提供目标渲染引擎。
在确定目标渲染引擎之后,为了便于为目标对象调用目标渲染引擎,在一种可能的实现方式中,可以将确定出的目标渲染引擎备份到安装目标对象的本地目录中。比如:当前的目标渲染引擎存储在SD卡中,安装目标对象的本地目录可以为用户在智能终端中安装目标对象所对应的目录,如用户将目标对象安装在智能终端中的data/app目录下,则该data/app目录即可以为安装目标对象的本地目录。在目标对象对应的本地目录下,如data/app目录下,可以备份一份目标渲染引擎。由此,在为目标对象调用目标渲染引擎以进行相应的步骤时,可以提升对目标渲染引擎的调用速度。可以理解的是,可以对任意一个已在智能终端中完成安装的对象,在它的本地目录下都备份有目标渲染引擎,以实现在为每个对象调用目标渲染引擎时,可以在自身的本地目录下进行调用,从而提升了目标渲染引擎的调用效率。
S104:通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎。
在本申请实施例中,在确定出目标渲染引擎之后,可以对目标渲染引擎进行运行环境的初始化,以使得当前的环境适合目标渲染引擎的运行,具备了针对目标对象替换渲染引擎的基本条件,以此可以将部署该目标对象的智能终端的***渲染引擎替换为性能更优的目标渲染引擎。
S105:若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
在本申请实施例中,当需要创建目标对象对应的页面视图组件时,会相应的生成该目标对象对应的页面视图组件的请求,如果获取了该创建目标对象对应的页面视图组件的要求时,由于已经针对目标对象进行了渲染引擎的替换,可以根据性能更优的目标渲染引擎以创建出该目标对象对应的页面视图组件。
例如:以手机作为智能终端,以在该手机上完成安装的一个具有网页页面显示功能的游戏APP作为目标对象,且该智能手机中包括有原有的***渲染引擎A,还包括有性能优于***渲染引擎A的目标渲染引擎B。在完成步骤S104之后,也就是将手机中的***渲染引擎A替换为目标渲染引擎B之后,当需要创建该游戏APP对应的页面视图组件时,可以相应的生成该目标对象对的应的页面视图组件的请求,如果获取了该创建目标对象对应的页面视图组件要求,就可以根据该性能更优的目标渲染引擎B来创建该游戏APP对应的页面视图组件。
在完成根据目标渲染引擎创建目标对象对应的页面视图组件后,可以通过目标渲染引擎实现目标对象的网页页面下载、解析、和渲染。
由此可见,通过本申请实施例提供的渲染引擎的共享方法,通过提供一个性能较优的共享渲染引擎,使得针对于在智能终端上完成安装的不同的对象,都可以通过调用该共享渲染引擎,来实现目标对象的网页视图组件功能,由于该共享渲染引擎的性能优于***渲染引擎,可以适用于更多的开发需求,因此,开发人员在开发对象时,无需在额外开发一套独立的渲染引擎,降低了开发成本。而且,由于开发人员在创建所开发目标对象的安装包时,不需要在安装包中额外打包渲染引擎,而是直接采用共享的目标渲染引擎即可,从而降低了安装包的大小,避免了下载、安装这类安装包会消耗额外的***资源。
在本申请实施例中,可以具有更新共享渲染引擎的功能,也就是说,针对于智能终端中的共享渲染引擎,即目标渲染引擎,如果有最新版本的目标渲染引擎发布时,可以将该智能终端中的目标渲染引擎更新为该最新版本的目标渲染引擎。则,在一种可能的实现方式中,对目标渲染引擎进行更新的方法比如可以包括:
S301:向服务器发送版本检测请求,所述版本检测请求包括所述目标渲染引擎的版本信息。
在本申请实施例中,服务器可以为最新版本目标渲染引擎的发布平台,则,可以向服务器发送版本检测请求,其中,版本检测请求可以包括智能终端的目标渲染引擎的版本信息,这里所述的目标渲染引擎的版本信息可以用于表示该目标渲染引擎所属的版本,比如目标渲染引擎的版本信息可以为“1.0”,以表示该目标渲染引擎为第一版本。也就是说,可以向服务器发送包括有智能终端中目标渲染引擎的版本信息的版本检测请求。例如:在手机这一智能终端中部署有目标渲染引擎A,该目标渲染引擎A为第一版本,且对应的版本信息为“1.0”,则可以向服务器中发送版本检测请求,该版本检测请求中可以包括有目标渲染引擎的版本信息“1.0”。
S302:从服务器获取针对目标渲染引擎的版本信息的更新内容。
S303:根据更新内容更新所述目标渲染引擎。
在本申请实施例中,服务器在接收到该版本检测请求后,可以根据该版本检测请求中的目标渲染引擎的版本信息,确定出针对该目标渲染引擎的版本信息的更新内容,并将该目标渲染引擎的版本信息的更新内容发送至该智能终端中。其中,这里所述的更新内容可以为将智能终端中的目标渲染引擎更新为最新版本的目标渲染引擎的内容,可以理解的是,该更新内容可以包括有智能终端中的目标渲染引擎安装包中的内容,也可以不包括有智能终端中的目标渲染引擎安装包中的内容。比如:假设当前的智能终端中的目标渲染引擎的安装包为A,更新内容为A+B,该情形为更新内容中包括有智能终端中的目标渲染引擎安装包中的内容的情形;相应的,假设当前的智能终端中的目标渲染引擎的安装包为A,更新内容为B,则该情形为更新内容中不包括有智能终端中的目标渲染引擎包装包的内容的情形。智能终端从服务器获取针对该目标渲染引擎的版本信息的更新内容,并根据该更新内容将智能终端中的目标渲染引擎更新至最新版本的目标渲染引擎。
例如:假设当前服务器公布有最新版本的目标渲染引擎为第三版本目标渲染引擎,其版本信息为“3.0”,则,服务器在接收到该包括有目标渲染引擎的版本信息、即“1.0”的版本检测请求后,可以根据该版本检测请求中的目标渲染引擎的版本信息“1.0”,确定出对应该目标渲染引擎的版本信息的更新内容“W”,并将该目标渲染引擎的版本信息的更新内容“W”发送至手机中。手机从服务器获取针对该目标渲染引擎的版本信息的更新内容“W”,并根据该更新内容“W”将手机中的第一版本的目标渲染引擎更新至最新版本、即第三版本的目标渲染引擎。
另外,若服务器根据该版本检测请求中的目标渲染引擎的版本信息,确定出该目标渲染引擎已经为当前最新版本的目标渲染引擎,则服务器可以向智能终端发送不需要进行版本更新的信息,智能终端接收到该信息后结束此次更新的步骤。由此可见,对智能终端的共享区域中的目标渲染引擎进行更新,这样,在接下来的步骤中就可以调用最新版本的目标渲染引擎来实现创建页面视图组件等功能,从而为开发人员提供了基于性能更优的最新版本的目标渲染引擎的开发可能。而且,针对于市面上流通的全部的包括有目标渲染引擎的智能终端,都可以进行上述步骤以进行目标渲染引擎的更新,从而能够快速将当前市面上的目标渲染引擎更新为最新版本的目标渲染引擎。另外,由于仅需要对体积较小的***渲染引擎进行更新,其对应的更新时间也较短,因此方便了用户的更新操作,从而能够实现统一当前市场上的目标渲染引擎的版本,避免了当前市场上的目标渲染引擎版本过多,即目标渲染引擎的碎片化的问题。
上述目标渲染引擎的更新方法,可以用于为智能终端的共享区域中的目标渲染引擎进行更新,从而可以保证为智能终端中的对象调用的渲染引擎为最新版本的目标渲染引擎。此外,该更新方法也可以用于为智能终端中的安装目标对象的本地目录下的目标渲染引擎进行更新,以使得为每一个智能终端中的对象调用最新版本的目标渲染引擎,以提升对象在基于目标渲染引擎实现功能时的效果。
在本申请实施例中,可能会出现为智能终端的共享区域中的目标渲染引擎进行了更新,而未对本地目录中包括的目标渲染引擎进行更新的情形,则,在一种可能的实现方式中,如果安装目标对象的本地目录中和智能终端的共享区域中都包括有目标渲染引擎,则,在进行上述步骤S301之前,可以通过下述方法进行更新,包括:如果智能终端的共享区域中包括的目标渲染引擎的版本信息高于本地目录中包括的目标渲染引擎的版本信息,则可以将本地目录中包括的目标渲染引擎替换为智能终端的共享区域中包括的目标渲染引擎。
也就是说,相比于本地目录中包括的目标渲染引擎的版本,如果智能终端的共享区域中包括的目标渲染引擎的版本更高,则可以将本地目录中包括的目标渲染引擎替换为智能终端的共享区域中包括的目标渲染引擎,以使得将本地目录中包括的目标渲染引擎更新为更高版本的目标渲染引擎。比如:智能终端的共享区域中包括的目标渲染引擎的版本信息可以为“3.0”,表示该目标渲染引擎为第三版本;本地目录中包括的目标渲染引擎的版本信息可以为“1.0”,表示该目标渲染引擎为第一版本,智能终端的共享区域中包括的第三版本的目标渲染引擎的版本更高,则可以将本地目录中包括的第一版本的目标渲染引擎替换为智能终端的共享区域中包括的第三版本的目标渲染引擎。由此,该种为安装目标对象的本地目录下的目标渲染引擎进行更新的方法,可以仅在智能终端内部进行数据的传输,而无需与服务器进行交互,从而减少了***资源的浪费。
需要说明的是,本申请实施例不限定对目标渲染引擎进行运行环境的初始化的具体方法,可以根据不同的确定需求选择、设置适应性的确定方式。针对S401,在一种可能的实现方式中,对目标渲染引擎进行运行环境的初始化的方法,可以包括:
S401:获取所述目标渲染引擎的软件开发工具包。
在本申请实施例中,针对于目标渲染引擎,可以预先开发一个目标渲染引擎的软件开发工具包(Software Development Kit,SDK),该目标渲染引擎的SDK可以为包括有将目标渲染引擎替换***渲染引擎的具体实现相关的文档、范例和工具等的集合。当需要对目标渲染引擎进行运行环境的初始化时,可以获取该目标渲染引擎的SDK。
S402:根据所述软件开发工具包,对所述目标渲染引擎进行运行环境的初始化。
在本申请实施例中,可以根据获取的目标渲染引擎的SDK,通过对该目标渲染引擎的SDK进行初始化,实现对目标渲染引擎进行运行环境的初始化。比如:目标渲染引擎的SDK中可以包括有与目标渲染引擎的运行环境相关的参数等信息,通过对该目标渲染引擎的SDK进行初始化,以对目标渲染引擎的运行环境相关的参数等进行快速的重置。
这样,仅通过对一个软件开发工具包、即目标渲染引擎的SDK进行初始化,就可以使得当前的运行环境适用于目标渲染引擎的运行,从而提升了初始化效率。
另外,本申请实施例不限定将智能终端的***渲染引擎替换为目标渲染引擎的具体方法,可以根据不同的确定需求选择、设置适应性的确定方式。针对S104,在一种可能的实现方式中,该方法可以包括:通过创建目标渲染引擎的实例,将智能终端的***渲染引擎替换为目标渲染引擎。这里所述的实例可以为一个进程,而目标渲染引擎的实例可以为与目标渲染引擎相关的进程,比如目标渲染引擎的实例可以为调用目标渲染引擎的接口的进程。也就是说,可以通过创建目标渲染引擎的实例,来实现将智能终端的***渲染引擎替换为目标渲染引擎。
下面以一具体示例进行说明:参见图2,该图示出了本申请实施例提供的一种创建页面视图组件过程中涉及的安卓***架构示意图。如图2所示,图2中示出的由实线连接的架构图,对应于:通过调用***渲染引擎的实例,来实现以***渲染引擎作为创建目标对象对应的页面视图组件的后台逻辑,从而根据***渲染引擎创建出目标对象对应的页面视图组件的方法;而图2中示出的由虚线连接的架构图,对应于本申请实施例提供的方法,即:在对目标渲染引擎进行运行环境的初始化,使得当前的运行环境适用于目标渲染引擎的情况下,可以创建一个目标渲染引擎的实例,其中,该实例可以为调用目标渲染引擎的接口的进程,通过该进程,可以使得目标渲染引擎作为创建目标对象对应的页面视图软件的后台逻辑,而不是***渲染引擎,从而实现了将***渲染引擎替换为目标渲染引擎。
在具体的实现中,针对于安卓***的智能终端,在对目标渲染引擎的SDK进行初始化,以使得当前的运行环境适合目标渲染引擎的运行时,将安卓***中的应用框架层(Frameworks)作为出发点,以创建调用目标渲染引擎的mProvider接口的实例,从而实现将***渲染引擎替换为目标渲染引擎。其中,应用框架层可以用于对智能终端中的对象提供API方法和服务。
因此,该方法仅通过创建目标渲染引擎的实例,就可以完成将智能终端的***渲染引擎替换为目标渲染引擎,从而提升了渲染引擎的替换效率。
随着智能终端***的升级,页面视图组件所调用的渲染引擎的版本也会进行更新,不同版本的渲染引擎的工作机制可能有所不同,例如所需访问的应用程序编程接口(Application Programming Interface,API)会随着版本更替出现更新、删除、修改等。
而目前市场中流通的智能终端款式、型号、生产厂家各异,智能终端中所部署的***版本并不统一,也就是说,市场上同时流通了多个版本的渲染引擎。这就导致了上述对象的开发人员在开发对象时,为了让对象能够使用页面视图组件,需要对象能够适配不同版本渲染引擎,大大提高了开发成本。
为了解决上述由于***渲染引擎版本过多所带来的问题,在一种可能的实现方式中,本申请实施例提供的目标渲染引擎可以包括差异性参数,这里所述的差异性参数可以为用于标识***渲染引擎在不同版本下的差异性。
其中,在当前的市场中通常流通有多个不同版本的智能终端***,而不同版本的智能终端***对应有不同版本的***渲染引擎,也就是说,在当前的市场中也流通有不同版本的***渲染引擎,比如:假设目前市面上流通的安卓***共有三个版本,分别为版本1、版本2和版本3,且对于这三个版本的安卓***,可以对应有三种不同版本的***渲染引擎,分别为第一版本的***渲染引擎、第二版本的***渲染引擎和第三版本的***渲染引擎。对于不同版本的***渲染引擎,它们之间还可能具有差异性,下面以一具体示例进行说明:对于前述的三个不同版本的***渲染引擎,它们之间可能包括有相同性,比如:当需要实现功能A时,这三个版本的***渲染引擎都需要通过调用接口a来实现该功能。而对于这三个在不同版本下的***渲染引擎,还可能包括有差异性,比如:当需要实现功能B时,第一版本的***渲染引擎需要通过调用接口a来实现该功能;第二版本的***渲染引擎需要通过调用接口b来实现该功能;第三版本的***渲染引擎需要通过调用接口c来实现该功能。
由此可见,对于实现功能B时这三个***渲染引擎之间具有差异性,则可以通过差异性参数来标识这三个***渲染引擎的差异性。可以理解的是,上述示例仅为一种可能的情形,在实际的场景中,目标渲染引擎包括的差异性参数中,包含有不同版本下的***渲染引擎的全部的差异性。
在本申请实施例中,该差异性参数可以标识目前流通的所有不同版本下的***渲染引擎的差异性,也可以标识至少两个不同版本下***渲染引擎的差异性。
这样,由于目标渲染引擎中包括有差异性参数,而该差异性参数用于标识不同版本下的***渲染引擎的差异性,从而针对于不同版本下的***渲染引擎中每一版本,目标渲染引擎都可以基于差异性参数,以通过与该***渲染引擎相同的工作机制,实现该***渲染引擎可以实现的相应的功能。比如:目标渲染引擎的差异性参数中包括有安卓***第一版本***渲染引擎,其实现功能B时,需要调用的接口为接口a的信息,则目标渲染引擎可以根据该差异性参数也调用接口a来实现功能B。因此,针对于不同版本的***渲染引擎中每一版本,都可以由目标渲染引擎对其进行替换,并以与该***渲染引擎相同的工作机制,实现该***渲染引擎可以实现的功能,从而对所替换的***渲染引擎所处的***的影响也相对较小。也就是说,目标渲染引擎针对于不同版本的***(比如安卓***)具有较高的兼容性,可以适配于不同版本***下的智能终端。
在具体实现中,对于搜狗浏览器内核这一目标渲染引擎,其最低可以支持安卓Android 4.1版本,并且,在安卓Android 4.1版本及以上的所有***中,该搜狗浏览器内核的行为能够与相应版本的安卓***中***渲染引擎的行为保持一致,也就是说,搜狗浏览器内核具有较高的兼容性。
在本申请实施例中,在完成渲染引擎的替换后,目标渲染引擎可以基于差异性参数,以与***渲染引擎相同的工作机制实现该***渲染引擎可以实现的功能。则,在一种可能的实现方式中,针对于上述步骤S105中的根据目标渲染引擎创建目标对象对应的页面视图组件的方法,可以包括:
S501:确定所述智能终端的***渲染引擎的目标版本信息。
不同版本下的***渲染引擎,都可以对应有相应的版本信息,***渲染引擎的版本信息可以用于表示这个***渲染引擎所属的***版本,比如:对于第一版本的***渲染引擎,其对应的***版本信息可以为“1.0”。则,在本申请实施例中,可以将当前的智能终端中的***渲染引擎的版本信息记为目标版本信息,对于该智能终端,确定出其中的***渲染引擎的目标版本信息。
例如:假设目前市场中流通的***渲染引擎包括有第一版本***渲染引擎、第二版本***渲染引擎和第三版本***渲染引擎,以手机作为当前的智能终端,该手机中包括第一版本的***渲染引擎,且该第一版本的***渲染引擎的版本信息为“1.0”,则,针对于当前的手机,确定出该手机中***渲染引擎的目标版本信息为“1.0”。
S502:根据所述目标版本信息和所述差异性参数,通过所述目标渲染引擎创建目标对象对应的页面视图组件。
在本申请实施例中,可以根据当前的智能终端中的***渲染引擎的版本信息,即目标版本信息,以及目标渲染引擎包括的差异性参数,确定出当前智能终端的***渲染引擎在创建目标对象对应的页面视图组件时的工作机制,并根据该工作机制,目标渲染引擎实现创建目标对象对应的页面视图组件。
下面以一具体示例进行说明:假设目前市面上流通的安卓***共有三个版本,分别为版本1、版本2和版本3,且在这三个安卓***的版本下,可以对应有三种不同版本的***渲染引擎,分别为第一版本的***渲染引擎、第二版本的***渲染引擎和第三版本的***渲染引擎。则,对于这三个在不同版本下的***渲染引擎,针对于实现创建目标对象对应的页面视图组件的功能时,可能具有差异性,比如:第一版本的***渲染引擎需要通过调用接口a来实现该功能;第二版本的***渲染引擎需要通过调用接口b来实现该功能;第三版本的***渲染引擎需要通过调用接口c来实现该功能。由于目标渲染引擎的差异性参数中包括有该创建目标对象对应的页面视图组件时所对应的差异性,则,可以根据确定出的手机中***渲染引擎的目标版本信息为“1.0”,其对应的渲染引擎为第一版本***渲染引擎,则根据差异性参数,可以确定出第一版本***渲染引擎需要通过调用接口a来实现该创建目标对象对应的页面视图组件的功能,因此目标渲染引擎也可以通过调用接口a来实现该创建目标对象对应的页面视图组件的功能。
由此可知,基于目标渲染引擎针对于不同版本的***(比如安卓***)都具有较高的兼容性,可以适配于不同版本***下的智能终端的优势,则对于不同版本的***渲染引擎,都可以将其替换为目标渲染引擎,并通过目标渲染引擎来实现创建目标对象对应的页面视图组件等功能,这样,开发者就可以只根据目标***引擎来进行对象的开发,无需再关注不同版本下的***渲染引擎的差异性。
基于图1对应的实施例提供的渲染引擎的共享方法,本申请实施例提供一种渲染引擎的共享装置,参见图3,该图示出了本申请实施例提供的一种渲染引擎的共享装置结构图,如图3所示,所述装置包括获取单元301、安装单元302、确定单元303、替换单元304和创建单元305:
所述获取单元301,用于获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
所述安装单元302,用于通过所述安装包在智能终端安装所述目标对象;
所述确定单元303,用于在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
所述替换单元304,用于通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
所述创建单元305,用于若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述确定单元303,具体用于:
确定所述智能终端的共享区域中是否包括所述目标渲染引擎;
若是,从所述共享区域中确定所述目标渲染引擎;
若否,下载所述目标渲染引擎。
可选的,所述确定单元303,还具体用于:
在所述确定目标渲染引擎之后,将所述目标渲染引擎备份到安装所述目标对象的本地目录中。
可选的,所述确定单元303,还具体用于:
向服务器发送版本检测请求,所述版本检测请求包括所述目标渲染引擎的版本信息;
从所述服务器获取针对所述目标渲染引擎的版本信息的更新内容;
根据所述更新内容更新所述目标渲染引擎。
可选的,所述确定单元303,还具体用于:
若安装所述目标对象的本地目录中和所述智能终端的共享区域中均包括所述目标渲染引擎,在所述向服务器发送版本检测请求之前,若所述智能终端的共享区域中包括的目标渲染引擎的版本信息高于所述本地目录中包括的目标渲染引擎的版本信息,将所述本地目录中包括的目标渲染引擎替换为所述智能终端的共享区域中包括的目标渲染引擎。
可选的,所述目标渲染引擎包括差异性参数,所述差异性参数用于标识所述***渲染引擎在不同版本下的差异性。
可选的,所述创建单元305,具体用于:
确定所述智能终端的***渲染引擎的目标版本信息;
根据所述目标版本信息和所述差异性参数,通过所述目标渲染引擎为所述目标对象创建页面视图组件。
可选的,所述替换单元304,具体用于:
获取所述目标渲染引擎的软件开发工具包;
根据所述软件开发工具包,对所述目标渲染引擎进行运行环境的初始化。
可选的,所述替换单元304,还具体用于:
通过创建所述目标渲染引擎的实例,将所述智能终端的***渲染引擎替换为所述目标渲染引擎。
由上述技术方案可以看出,在目标对象创建页面视图组件前,可以对目标渲染引擎进行运行环境的初始化,通过运行环境的初始化,可以将目标渲染引擎替换智能终端所部署***原本的***渲染引擎。由此,当目标对象需要创建页面视图组件时,将会通过调用目标渲染引擎而不是调用***渲染引擎实现,由于目标渲染引擎的性能优于***渲染引擎,可以适用于更多的开发需求,而不再需要开发人员额外开发一套独立的渲染引擎。由此,开发人员在创建所开发目标对象的安装包时,不需要在安装包中额外打包渲染引擎,直接采用共享的目标渲染引擎即可,降低了安装包的大小,也降低了开发成本。
基于前述提供的渲染引擎的共享方法和装置,本实施例提供一种渲染引擎的共享设备,渲染引擎的共享设备可以是终端设备,图4是根据一示例性实施例示出的一种终端设备400的框图。例如,终端设备400可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,终端设备400可以包括以下一个或多个组件:处理组件402,存储器404,电源组件406,多媒体组件408,音频组件410,输入/输出(I/O)的接口412,传感器组件414,以及通信组件416。
处理组件402通常控制终端设备400的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件402可以包括一个或多个处理器420来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件402可以包括一个或多个模块,便于处理组件402和其他组件之间的交互。例如,处理部件402可以包括多媒体模块,以方便多媒体组件308和处理组件402之间的交互。
存储器404被配置为存储各种类型的数据以支持在终端设备400的操作。这些数据的示例包括用于在装置400上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器404可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件406为终端设备400的各种组件提供电力。电源组件406可以包括电源管理***,一个或多个电源,及其他与为装置400生成、管理和分配电力相关联的组件。
多媒体组件408包括在所述终端设备400和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件408包括一个前置摄像头和/或后置摄像头。当终端设备400处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件410被配置为输出和/或输入音频信号。例如,音频组件410包括一个麦克风(MIC),当装置400处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器404或经由通信组件416发送。在一些实施例中,音频组件410还包括一个扬声器,用于输出音频信号。
I/O接口412为处理组件402和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件414包括一个或多个传感器,用于为终端设备400提供各个方面的状态评估。例如,传感器组件414可以检测到终端设备400的打开/关闭状态,组件的相对定位,例如所述组件为终端设备400的显示器和小键盘,传感器组件414还可以检测终端设备400或终端设备400一个组件的位置改变,用户与终端设备400接触的存在或不存在,终端设备400方位或加速/减速和终端设备400的温度变化。传感器组件414可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件414还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件414还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件416被配置为便于终端设备400和其他设备之间有线或无线方式的通信。终端设备400可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件416经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件416还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端设备400可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器404,上述指令可由终端设备400的处理器420执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种渲染引擎的共享方法,所述方法包括:
获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
通过所述安装包在智能终端安装所述目标对象;
在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
图5是本发明实施例中服务器的结构示意图。该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器522可以设置为与存储介质530通信,在服务器500上执行存储介质530中的一系列指令操作。
服务器500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,一个或一个以上键盘556,和/或,一个或一个以上操作***541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:read-only memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种渲染引擎的共享方法,其特征在于,所述方法包括:
获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
通过所述安装包在智能终端安装所述目标对象;
在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标渲染引擎,包括:
确定所述智能终端的共享区域中是否包括所述目标渲染引擎;
若是,从所述共享区域中确定所述目标渲染引擎;
若否,下载所述目标渲染引擎。
3.根据权利要求1所述的方法,其特征在于,在所述确定目标渲染引擎之后,所述方法还包括:
将所述目标渲染引擎备份到安装所述目标对象的本地目录中。
4.根据权利要求1-3任意一项所述的方法,其特征在于,所述方法还包括:
向服务器发送版本检测请求,所述版本检测请求包括所述目标渲染引擎的版本信息;
从所述服务器获取针对所述目标渲染引擎的版本信息的更新内容;
根据所述更新内容更新所述目标渲染引擎。
5.根据权利要求4所述的方法,其特征在于,若安装所述目标对象的本地目录中和所述智能终端的共享区域中均包括所述目标渲染引擎,在所述向服务器发送版本检测请求之前,所述方法还包括:
若所述智能终端的共享区域中包括的目标渲染引擎的版本信息高于所述本地目录中包括的目标渲染引擎的版本信息,将所述本地目录中包括的目标渲染引擎替换为所述智能终端的共享区域中包括的目标渲染引擎。
6.根据权利要求1所述的方法,其特征在于,所述目标渲染引擎包括差异性参数,所述差异性参数用于标识所述***渲染引擎在不同版本下的差异性。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标渲染引擎为所述目标对象创建页面视图组件,包括:
确定所述智能终端的***渲染引擎的目标版本信息;
根据所述目标版本信息和所述差异性参数,通过所述目标渲染引擎为所述目标对象创建页面视图组件。
8.一种渲染引擎的共享装置,其特征在于,所述装置包括获取单元、安装单元、确定单元、替换单元和创建单元:
所述获取单元,用于获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
所述安装单元,用于通过所述安装包在智能终端安装所述目标对象;
所述确定单元,用于在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
所述替换单元,用于通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
所述创建单元,用于若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
9.一种渲染引擎的共享设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取目标对象的安装包,所述目标对象具有通过页面视图组件提供服务的功能,所述安装包中未打包针对页面视图组件的渲染引擎;
通过所述安装包在智能终端安装所述目标对象;
在所述目标对象创建页面视图组件之前,确定目标渲染引擎;
通过对所述目标渲染引擎进行运行环境的初始化,将所述智能终端的***渲染引擎替换为所述目标渲染引擎;所述目标渲染引擎的性能优于所述***渲染引擎;
若获取针对所述目标对象创建页面视图组件的请求,根据所述目标渲染引擎为所述目标对象创建页面视图组件。
10.一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如权利要求1至7中一个或多个所述的渲染引擎的共享方法。
CN201910517057.1A 2019-06-14 2019-06-14 一种渲染引擎的共享方法和装置 Pending CN112181406A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910517057.1A CN112181406A (zh) 2019-06-14 2019-06-14 一种渲染引擎的共享方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910517057.1A CN112181406A (zh) 2019-06-14 2019-06-14 一种渲染引擎的共享方法和装置

Publications (1)

Publication Number Publication Date
CN112181406A true CN112181406A (zh) 2021-01-05

Family

ID=73914218

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910517057.1A Pending CN112181406A (zh) 2019-06-14 2019-06-14 一种渲染引擎的共享方法和装置

Country Status (1)

Country Link
CN (1) CN112181406A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741764A (zh) * 2021-07-30 2021-12-03 阿里巴巴新加坡控股有限公司 组件处理方法、装置及设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741764A (zh) * 2021-07-30 2021-12-03 阿里巴巴新加坡控股有限公司 组件处理方法、装置及设备

Similar Documents

Publication Publication Date Title
RU2647625C2 (ru) Способ и устройство для запуска прикладной программы
CN110990105B (zh) 界面显示方法、装置、电子设备及存储介质
US20150333971A1 (en) Method and device for managing processes of application program
RU2641257C2 (ru) Способ и аппаратура для управления устройствами
CN111221559B (zh) 应用更新方法、装置、存储介质、终端及服务器
CN111427622B (zh) 应用程序中脚本代码的执行方法及装置
CN110781080B (zh) 程序调试方法及装置、存储介质
CN106775903B (zh) 安全策略文件更新方法及装置
CN109117144B (zh) 页面处理方法、装置、终端及存储介质
CN108280342B (zh) 应用同步方法和装置、用于应用同步的装置
CN106775644B (zh) 文件运行方法及设备
CN109901886B (zh) 页面语言切换方法、***、装置和计算机可读存储介质
CN111221613B (zh) 程序调用方法及装置、存储介质
CN112181406A (zh) 一种渲染引擎的共享方法和装置
CN112083981A (zh) 一种页面视图组件的创建方法和装置
WO2022143126A1 (zh) 应用的安全性分析方法、装置、设备及存储介质
CN111008050A (zh) 页面任务执行方法、装置、终端及存储介质
CN116257706A (zh) 应用加载方法、装置及存储介质
CN114528037A (zh) 一种应用启动方法、装置、电子设备及存储介质
CN110569037B (zh) 数据写入的方法和装置
CN109933357B (zh) 应用程序升级方法及装置
CN107463414B (zh) 应用安装方法及装置
CN112214252A (zh) 一种信息扩展方法、装置和电子设备
CN114416218B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN116126320B (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