一种基于皮肤缓存机制的界面渲染方法、装置及电子设备与流程

文档序号:18360189发布日期:2019-08-06 23:43阅读:166来源:国知局
一种基于皮肤缓存机制的界面渲染方法、装置及电子设备与流程

本发明涉及计算机技术领域,特别是涉及一种基于皮肤缓存机制的界面渲染方法、装置及电子设备。



背景技术:

当前,随着计算机技术的不断发展,人们在日常生活中会应用到越来越多的客户端,例如,即时通讯客户端、新闻客户端、各视频网站客户端等。为了带给用户更好的用户体验,这些客户端均支持界面动态化,即电子设备展示有某客户端的某个界面,当用户点击该界面中的指定按钮,或者,当用户在该电子设备的屏幕上执行滑动操作时,该客户端可以渲染新的界面,展示给用户新的内容。

例如,如图1和图2所示,针对一客户端,当前电子设备所显示的界面如图1所示,当用户向上滑动该电子设备时,微博客户端便可以通过渲染新的界面,向用户展示如图2所示的新的内容。

在现有技术中,客户端渲染每个新的界面时,均需要在下载得到该界面的皮肤文件和数据文件后,执行皮肤文件解析操作,得到该界面的皮肤模型,该皮肤模型为一种模板文件,表征了该新的界面所包括的各类元素和控件的数量、形状、大小、相对位置关系等布局信息。在得到该界面的皮肤模型后,客户端将该皮肤模型与上述数据文件绑定在一起,即按照皮肤模型中各类元素和控件与数据文件中各数据的对应关系,在皮肤模型中填充数据文件中的各类元素和控件的数据,从而,在绑定完成之后,展示该界面。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

客户端在对每一个新的界面进行渲染时,均需要执行皮肤文件解析操作。由于皮肤解析操作的耗时比较长,因此,导致客户端进行界面渲染的速度较慢。



技术实现要素:

本发明实施例的目的在于提供一种基于皮肤缓存机制的界面渲染方法,以实现提高客户端进行界面渲染的速度。具体技术方案如下:

第一方面,本发明实施例提供了一种基于皮肤缓存机制的界面渲染方法,应用于客户端,所述客户端中预先设置存储有皮肤模型的缓存池,所述缓存池中的各个皮肤模型是基于预设的模型复用策略所缓存的,且所述各个皮肤模型的模型标识是基于所述模型复用策略对应的皮肤模型的属性生成的;所述方法包括:

获取待渲染界面的目标数据文件,并获取为所述待渲染界面的目标皮肤所设置的目标皮肤标识,其中,所述目标皮肤标识用于标识所述待渲染界面的目标皮肤的属性;

监控所述待渲染界面的渲染过程是否达到第一指定时机,其中,每一界面的渲染过程被预分解为多个渲染时机,所述多个渲染时机中包括所述第一指定时机;

若是,判断所述缓存池中是否存在与所述目标皮肤标识相同的目标模型标识;

当判断结果为是时,从所述缓存池中提取具有所述目标模型标识的皮肤模型,作为目标皮肤模型;

基于所述目标数据文件和所述目标皮肤模型,渲染所述待渲染界面。

可选的,一种具体实现方式中,

所述多个渲染时机包括:准备渲染时机、将要渲染时机、开始渲染时机、渲染完成时机、准备消失时机、将要消失时机、开始消失时机和消失完成时机;

所述第一指定时机为:所述开始渲染时机。

可选的,一种具体实现方式中,所述方法还包括:

当所述判断结果为所述缓存池中不存在与所述目标皮肤标识相同的目标模型标识时,获取所述待渲染界面的目标皮肤文件;

基于所述目标皮肤文件和所述目标数据文件,渲染所述待渲染界面。

可选的,一种具体实现方式中,在所述获取为所述待渲染界面的目标皮肤所设置的目标皮肤标识的步骤之前,所述方法还包括:

检测所述客户端是否存在默认皮肤标识;

如果存在,从所述缓存池中获取任一预设皮肤模型,基于所获取的预设皮肤模型和所述目标数据文件,渲染所述待渲染界面;其中,所述预设皮肤模型为:预先在所述缓存池中存储的具有所述默认皮肤标识的,且基于所述模型复用策略生成的皮肤模型;

如果不存在,执行所述获取为所述待渲染界面的目标皮肤文件所设置的目标皮肤标识的步骤。

可选的,一种具体实现方式中,在所述从所述缓存池中获取任一预设皮肤模型的步骤之前,所述方法还包括:

在所述缓存池中存储具有所述默认皮肤标识的基于所述模型复用策略的预设皮肤模型。

可选的,一种具体实现方式中,所述默认皮肤标识的设置方式为:

获得用户发出的标识设置指令,将所述标识设置指令所指示的标识设置为所述客户端对应的默认皮肤标识;

或,

在检测到符合默认皮肤标识设置条件时,确定预设时间段内出现频率最高的,且为渲染界面的皮肤文件所设置的标识,作为所述客户端对应的默认皮肤标识。

可选的,一种具体实现方式中,在所述从所述缓存池中提取所述目标皮肤模型的步骤之后,在所述基于所述目标数据文件和所述目标皮肤模型,渲染所述待渲染界面的步骤之前,所述方法还包括:

删除所述缓存池中所存储的所述目标皮肤模型。

可选的,一种具体实现方式中,所述方法还包括:

监控所述待渲染界面的渲染过程是否达到所述多个渲染时间包括的第二指定时机;

若是,将所述目标皮肤模型存储到所述缓存池中。

第二方面,本发明实施例提供了一种基于皮肤缓存机制的界面渲染装置,应用于客户端,所述客户端中预先设置存储有皮肤模型的缓存池,所述缓存池中的各个皮肤模型是基于预设的模型复用策略所缓存的,且所述各个皮肤模型的模型标识是基于所述模型复用策略对应的皮肤模型的属性生成的;所述装置包括:

信息获取模块,用于获取待渲染界面的目标数据文件,并获取为所述待渲染界面的目标皮肤所设置的目标皮肤标识,其中,所述目标皮肤标识用于标识所述待渲染界面的目标皮肤的属性;

第一时机监控模块,用于监控所述待渲染界面的渲染过程是否达到第一指定时机,如果是,触发模型判断模块;其中,每一界面的渲染过程被预分解为多个渲染时机,所述多个渲染时机中包括所述第一指定时机;

所述模型判断模块,用于判断所述缓存池中是否存在与所述目标皮肤标识相同的目标模型标识;若是,触发模型提取模块;

所述模型提取模块,用于从所述缓存池中提取具有所述目标模型标识的皮肤模型,作为目标皮肤模型;

第一界面渲染模块,用于基于所述目标数据文件和所述目标皮肤模型,渲染所述待渲染界面。

可选的,一种具体实现方式中,

所述多个渲染时机包括:准备渲染时机、将要渲染时机、开始渲染时机、渲染完成时机、准备消失时机、将要消失时机、开始消失时机和消失完成时机;

所述第一指定时机为:所述开始渲染时机。

可选的,一种具体实现方式中,所述装置还包括:

文件获取模块,用于当所述判断结果为所述缓存池中不存在与所述目标皮肤标识相同的目标模型标识时,获取所述待渲染界面的目标皮肤文件;

第二界面渲染模块,用于基于所述目标皮肤文件和所述目标数据文件,渲染所述待渲染界面。

可选的,一种具体实现方式中,所述装置还包括:

标识检测模块,用于在所述获取为所述待渲染界面的目标皮肤所设置的目标皮肤标识的步骤之前,检测所述客户端是否存在默认皮肤标识;如果存在,触发模型获取模块;如果不存在,触发所述信息获取模块;

所述模型获取模块,用于从所述缓存池中获取任一预设皮肤模型,基于所获取的预设皮肤模型和所述目标数据文件,渲染所述待渲染界面;其中,所述预设皮肤模型为:预先在所述缓存池中存储的具有所述默认皮肤标识的,且基于所述模型复用策略生成的皮肤模型。

可选的,一种具体实现方式中,所述装置还包括:

第一模型存储模块,用于在所述从所述缓存池中获取任一预设皮肤模型的步骤之前,在所述缓存池中存储具有所述默认皮肤标识的基于所述模型复用策略的预设皮肤模型。

可选的,一种具体实现方式中,所述装置还包括:

标识设置模块,用于设置所述默认皮肤标识;

其中,所述标识设置模块,具体用于获得用户发出的标识设置指令,将所述标识设置指令所指示的标识设置为所述客户端对应的默认皮肤标识;

或,

所述标识设置模块,具体用于在检测到符合默认皮肤标识设置条件时,确定预设时间段内出现频率最高的,且为渲染界面的皮肤文件所设置的标识,作为所述客户端对应的默认皮肤标识。

可选的,一种具体实现方式中,所述装置还包括:

模型删除模块,用于在所述从所述缓存池中提取所述目标皮肤模型的步骤之后,在所述基于所述目标数据文件和所述目标皮肤模型,渲染所述待渲染界面的步骤之前,删除所述缓存池中所存储的所述目标皮肤模型。

可选的,一种具体实现方式中,所述装置还包括第二时机监控模块和第二模型存储模块;

所述第二时机监控模块,用于监控所述待渲染界面的渲染过程是否达到所述多个渲染时间包括的第二指定时机;若是,触发所述第二模型存储模块;

所述第二模型存储模块,用于将所述目标皮肤模型存储到所述缓存池中。

第三方面,本发明实施例提供了一种电子设备,所述电子设备安装有客户端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面所提供的一种基于皮肤缓存机制的界面渲染方法中任一所述的方法步骤。

第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所提供的一种基于皮肤缓存机制的界面渲染方法中任一所述的方法步骤。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种基于皮肤缓存机制的界面渲染方法。

以上可见,应用本发明实施例提供的方案,在客户端中预先设置了存储有皮肤模型的缓存池,且缓存池中的各个皮肤模型是基于预设的模型复用策略缓存的,每一皮肤模型对应的模型标识是基于所述模型复用策略对应的皮肤模型的属性生成的。这样,客户端在对待渲染界面进行渲染时,首先获取待渲染界面的目标数据文件和为待渲染界面的目标皮肤所设置的目标皮肤标识。进而,对待渲染界面的渲染过程进行监控,以判断该渲染过程是否达到第一指定时机,并在达到时,判断出缓存池中各个皮肤模型的模型标识中是否存在与目标皮肤标识相同的目标模型标识。这样,当上述判断结果为是时,便可以直接从缓存池中提取具有该目标模型标识的皮肤模型,作为目标皮肤模型,从而基于上述目标数据文件和该目标皮肤模型,渲染该待渲染界面。

基于此,应用本发明实施例提供的方案,客户端可以实现对界面渲染过程的分解,得到多个渲染时机,以使得可以引入一种支持多种模型复用策略的皮肤缓存机制。根据该皮肤缓存机制,客户端便可以在监控到渲染过程达到第一指定时机时,直接从缓存池中提取该待渲染界面的目标皮肤模型。从而减少渲染过程中,由于对待渲染界面的皮肤文件进行解析所花费的时间,以实现提高客户端进行界面渲染的速度和为用户提供更高效且流畅的客户端界面渲染效果,提升用户体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为一客户端的一种界面的示意图;

图2为图1所示客户端的另一种界面的示意图;

图3为本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法的一种流程示意图;

图4为本发明实施例提供的一种基于皮肤缓存机制的界面渲染装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

现有技术中,客户端在对每一个新的界面进行渲染时,均需要执行皮肤文件解析操作。由于皮肤解析操作的耗时比较长,因此,导致客户端进行界面渲染的速度较慢。为了解决现有技术中存在的问题,本发明实施例提供了一种基于皮肤缓存机制的界面渲染方法。

下面,对本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法进行介绍。

图3为本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法的流程示意图。需要说明的是,本发明实施例所提供方法可以应用于任一需要进行界面渲染的客户端,对此,本发明实施例不做具体限定,以下简称客户端。该客户端可以安装于任一能够运行该客户端的电子设备中,例如,手机、平板电脑、笔记本电脑等,对此,本发明实施例也不做具体限定。

其中,客户端中预先设置存储有皮肤模型的缓存池,缓存池中的各个皮肤模型是基于预设的模型复用策略所缓存的,且各个皮肤模型的模型标识是基于上述预设的模型复用策略对应的皮肤模型的属性生成的。

具体的,为了提高客户端进行界面渲染的速度,客户端希望可以直接获取待渲染界面的目标皮肤模型,而不是耗费较多的时间对待渲染界面的皮肤文件进行解析。因此,客户端可以在自身存储空间预先设置一个存储有皮肤模型的缓存池,其中,缓存池中的各个皮肤模型是是基于预设的模型复用策略所缓存的,且各个皮肤模型的模型标识是基于上述预设的模型复用策略对应的皮肤模型的属性生成的。其中,上述预设的模型复用策略可以是尺寸复用策略,也可以是结构复用策略。

当采用尺寸复用策略时,那么,由于尺寸复用策略对应的皮肤模型的属性为尺寸,则缓存池中每一皮肤模型所具有的模型标识表征了该皮肤模型的尺寸。进一步,则可以表明:当客户端在缓存池中提取目标皮肤模型时,是通过判断所需要皮肤模型的尺寸与缓存池中存储的皮肤模型的尺寸是否匹配,确定所要提取的目标皮肤模型的,即所提取的目标皮肤模型的尺寸与所需要皮肤模型的尺寸相同。

当采用结构复用策略时,那么,由于结构复用策略对应的皮肤模型的属性为结构布局,则缓存池中每一皮肤模型所具有的模型标识表征了该皮肤模型的结构布局。进一步,则可以表明:当客户端在缓存池中提取目标皮肤模型时,是通过判断所需要皮肤模型的结构布局与缓存池中存储的皮肤模型的结构布局是否匹配,确定所要提取的目标皮肤模型的,即所提取的目标皮肤模型的结构布局与所需要皮肤模型的结构布局相同,而所提取的目标皮肤模型的尺寸与所需要皮肤模型的尺寸可以是不同的。这样,在提取到目标皮肤模型后,客户端可以按照所提取的目标皮肤模型的尺寸与所需要皮肤模型的尺寸的比例,对目标皮肤模型进行尺寸放大或者尺寸缩小,以使得尺寸改变后的目标皮肤模型能够满足需求。

如图3所示,本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法可以包括如下步骤:

s301:获取待渲染界面的目标数据文件,并获取为待渲染界面的目标皮肤所设置的目标皮肤标识,

其中,目标皮肤标识用于标识待渲染界面的目标皮肤的属性;

由于客户端可以支持界面动态化,因此,当客户端接收到界面切换指令时,便可以渲染新的界面,从而由当前所展示的界面切换到新的界面进行展示。其中,该界面切换指令可以是通过用户对客户端界面中的指定按钮执行点击操作触发的,也可以是通过用户对安装有该客户端的终端的屏幕执行滑动操作触发的,还可以是按照预设时间间隔主动触发的,即客户端可以按照预设时间间隔主动进行界面切换操作,这都是合理的。

一个完整的界面是由皮肤模型和各类数据构成的,在对界面进行渲染时,开始渲染至渲染完成的实质是:在获取该界面的皮肤模型和各类数据后,将各类数据绑定到该皮肤模型中的过程,即在该界面的皮肤模型的各个元素和控件中填充与该节点相对应的图片、文字、按钮等各类数据。其中,皮肤模型的各个元素和控件可以作为皮肤模型的关键节点。

基于此,当客户端需要渲染新的界面时,客户端便可以获取该待渲染界面的目标数据文件,该目标数据文件中包括了该待渲染界面在渲染完成后所展示出来的各类数据,例如,图片、文字、按钮等;其中,客户端可以从服务器下载该待渲染界面的目标数据文件。

此外,界面的皮肤模型可以表征界面所包括的各类元素和控件的数量、形状、大小、相对位置关系等结构布局信息,同时,界面的皮肤模型也可以表征界面的尺寸。显然,不同客户端的界面,或者,同一客户端的不同界面,其所对应的结构布局信息和尺寸可以是不同的。

由于客户端希望可以直接在缓存池中提取待渲染界面的目标皮肤模型,而缓存池中的各个皮肤模型是是基于预设的模型复用策略所缓存的,且各个皮肤模型的模型标识是基于上述预设的模型复用策略对应的皮肤模型的属性生成的,因此,为了便于通过标识匹配,在缓存池中的各个皮肤模型中选取待渲染界面的皮肤所适用的皮肤模型,则在为待渲染界面的目标皮肤设置目标皮肤标识时,所设置的目标皮肤标识可以用于标识该待渲染界面的目标皮肤的属性,该属性为上述预设的模型复用策略对应的皮肤模型的属性。

其中,当采用尺寸复用策略时,那么,由于尺寸复用策略对应的皮肤模型的属性为尺寸,则为待渲染界面的目标皮肤所设置的目标皮肤标识用于标识该待渲染界面的目标皮肤的尺寸;

当采用结构复用策略时,那么,由于结构复用策略对应的皮肤模型的属性为结构布局,则为待渲染界面的目标皮肤所设置的目标皮肤标识用于标识该待渲染界面的目标皮肤的结构布局。

具体的,在获取待渲染文件的目标数据文件时,客户端便可以同时获取为待渲染界面的目标皮肤所设置的目标皮肤标识。其中,由于客户端可以从服务器下载待渲染文件的目标数据文件,因此,客户端也可以从服务器下载为待渲染界面的目标皮肤所设置的目标皮肤标识。

其中,上述目标皮肤标识可以携带在待渲染界面的目标皮肤文件中,例如,在待渲染界面的目标皮肤文件的文件名中体现;此外,也可以在服务器中保存待渲染界面的目标皮肤文件与上述目标皮肤标识的对应关系。这都是合理的。需要说明的是,当客户端中保存目标皮肤标识的方式不同时,客户端从服务器下载为待渲染界面的目标皮肤所设置的目标皮肤标识的方式可以不同。

s302:监控待渲染界面的渲染过程是否达到第一指定时机;当判断结果为是时,执行s303;

其中,每一界面的渲染过程被预分解为多个渲染时机,该多个渲染时机中包括第一指定时机;

在本发明实施例提供的方案中,客户端可以实现对界面渲染过程的分解,从而将整个完整的界面渲染过程分解成多个时机。这样,客户端便可以按照所分解的各个时机的顺序,逐步执行界面渲染过程中的各个步骤,从而完成从界面切换指令开始,到待渲染界面展示完成后消失而结束的整个界面渲染过程。其中,该多个时机中包括第一指定时机。

基于此,在获取待渲染界面的目标数据文件和对应的目标皮肤标识后,客户端便可以监控待渲染界面的渲染过程是否达到第一指定时机;当判断结果为是时,执行后续的步骤s303。

s303:判断缓存池中是否存在与目标皮肤标识相同的目标模型标识;当判断结果为是时,执行s304;

s304:从缓存池中提取具有目标模型标识的皮肤模型,作为目标皮肤模型;

这样,当客户端监控待渲染界面的渲染过程达到第一指定时机时,便可以判断缓存池中各个皮肤模型的模型标识中是否存在与目标皮肤标识相同的目标模型标识。进一步的,当判断出缓存池中各个皮肤模型的模型标识中存在与目标皮肤标识相同的目标模型标识时,客户端便可以从缓存池中提取具有目标模型标识的皮肤模型,并将所提取的皮肤模型作为待渲染界面的目标皮肤模型。

s305:基于目标数据文件和目标皮肤模型,渲染待渲染界面。

在获取目标数据文件和目标皮肤模型后,客户端便可以按照目标皮肤模型中各类元素和控件与目标数据文件中各数据的对应关系,在目标皮肤模型中填充目标数据文件中的各类元素和控件的数据,即将目标皮肤模型与目标数据文件绑定在一起。其中,该绑定过程即为用户逐渐看到该待渲染界面的内容的过程,当绑定完成时,客户端即完成对该待渲染界面的渲染,进而,客户端可以展示该待渲染界面的全部内容。

以上可见,应用本发明实施例提供的方案,客户端可以实现对界面渲染过程的分解,得到多个渲染时机,以使得可以引入一种支持多种模型复用策略的皮肤缓存机制。根据该皮肤缓存机制,客户端便可以在监控到渲染过程达到第一指定时机时,直接从缓存池中提取该待渲染界面的目标皮肤模型。从而减少渲染过程中,由于对待渲染界面的皮肤文件进行解析所花费的时间,以实现提高客户端进行界面渲染的速度和为用户提供更高效且流畅的客户端界面渲染效果,提升用户体验。

需要说明的是,相对于上述s303中判断缓存池中与目标皮肤标识相同的目标模型标识的情况,可选的,一种具体实现方式中,本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法还可以包括如下步骤a1-a2:

步骤a1:当判断出缓存池中不存在与目标皮肤标识相同的目标模型标识时,获取待渲染界面的目标皮肤文件;

步骤a2:基于上述目标皮肤文件和目标数据文件,渲染待渲染界面。

在上述步骤s303中,当客户端判断出缓存池不存在与目标皮肤标识相同的目标模型标识时,客户端将无法从缓存池中提取到具有目标模型标识的皮肤模型,即客户端无法从缓存池中提取到待渲染界面的目标皮肤模型。这样,客户端便需要通过解析待渲染界面的目标皮肤文件来得到待渲染界面的目标皮肤模型。因此,当判断出缓存池不存在与目标皮肤标识相同的目标模型标识时,客户端便可以获取待渲染界面的目标皮肤文件。其中,客户端可以从服务器下载待渲染界面的目标皮肤文件。

在获取上述目标皮肤文件后,客户端便可以通过解析该目标皮肤文件,得到该待渲染界面的目标皮肤模型,进而,客户端便可以按照解析得到的目标皮肤模型中各类元素和控件与目标数据文件中各数据的对应关系,在解析得到的目标皮肤模型中填充目标数据文件中的各类元素和控件的数据,即将解析得到的目标皮肤模型与目标数据文件绑定在一起。其中,该绑定过程即为用户逐渐看到该待渲染界面的内容的过程,当绑定完成时,客户端即完成对该待渲染界面的渲染,进而,客户端可以展示该待渲染界面的全部内容。

此外,需要说明的是,当客户端从缓存池中提取目标皮肤模型后,该目标皮肤模型将被占用,且在该待渲染界面渲染完成前不能再被使用。同时,客户端获取的该待渲染界面的数据文件也需要占据客户端中一定的存储空间。因此,为了节省缓存池的存储空间,可选的,一种具体实现方式中,在客户端执行完成上述s304后,且在客户端执行上述步骤s305之前,本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法还可以包括如下步骤b1:

步骤b1:删除缓存池中所存储的目标皮肤模型。

即客户端从缓存池中提取具有目标模型标识的皮肤模型,便删除缓存池中所存储的该目标皮肤模型;进而,在删除缓存池中所存储的该目标皮肤模型后,基于目标数据文件和目标皮肤模型,渲染待渲染界面。

这样,在本具体实现方式中,通过删除缓存池中所存储的目标皮肤模型,便可以节省缓存池的存储空间,进而,也相当于节省了客户端的存储空间。从而使得客户端在渲染该待渲染界面时,可以运行地更顺畅高效。

进一步的,为了保证当客户端在渲染新的待渲染界面,需要利用之前所采用过的目标皮肤模型时,可以顺利地在缓存池中提取到该目标皮肤模型,以使得客户端不需要解析皮肤文件,提高客户端进行界面渲染的速度。可选的,一种具体实现方式中,本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法还可以包括如下步骤c1-c2:

步骤c1:监控待渲染界面的渲染过程是否达到多个渲染时机包括的第二指定时机,如果是,执行步骤c2;

步骤c2:将目标皮肤模型存储到缓存池中。

根据上述对步骤s302的介绍,在本发明实施例中,客户端可以实现对界面渲染过程的分解,从而将整个完整的界面渲染过程分解成多个时机。因此,在对待渲染界面的渲染过程中,客户端可以不断地对待渲染界面的渲染过程进行监控,并判断待渲染界面的渲染过程是否达到第二指定时机。当判断结果为是时,便可以执行上述步骤2,将目标皮肤模型再次存储到缓存池中。

可选的,一种具体实现方式中,客户端对界面渲染过程进行分解,所得到的多个时机可以包括如下各个时机:

准备渲染时机、将要渲染时机、开始渲染时机、渲染完成时机、准备消失时机、将要消失时机、开始消失时机和消失完成时机;

进而,在本具体实现方式中,可以将上述开始渲染时机作为第一指定时机。

具体的,上述准备渲染时机为:客户端接收到界面切换指令的时机,此时,客户端确定将要对某一待渲染界面进行界面渲染;进而,界面渲染过程达到将要渲染时机,在该时机客户端获取到待渲染界面的目标数据文件,和为待渲染界面的目标皮肤文件所设置的目标皮肤标识;接着,界面渲染过程达到开始渲染时机,在该时机客户端获取待渲染界面的目标皮肤模型,并基于待渲染界面的目标数据文件和目标皮肤模型,渲染该待渲染界面;在开始渲染时机与渲染完成时机之间,客户端逐渐将目标皮肤模型与目标数据文件绑定在一起,逐渐展示该待显示界面的内容;当该待显示界面的全部内容展示完成时,界面渲染过程便达到渲染完成时机。

这样,待渲染界面的全部内容展示完毕时,渲染界面过程便可以达到准备消失时机,即客户端确定当前所显示的已经展示完毕的待渲染界面将要消失。其中,该准备消失时机可以是客户端接收到新的界面切换指令的时机。进而,渲染界面过程达到将要消失时机,已经绑定好的目标数据文件和目标皮肤模型准备开始解绑,从而达到界面渲染过程的开始消失时机;在开始消失时机与消失完成时机之间,客户端逐渐将目标数据文件和目标皮肤模型解绑,从而使得当前所显示的已经展示完毕的待渲染界面的内容逐渐消失。

基于上述实现方式中,客户端对界面渲染过程进行分解,所得到的多个时机,可选的,一种具体实现方式中,上述第二指定时机可以为将要消失时机。

在本具体实现方式中,当界面渲染过程达到将要消失时机时,表明客户端已经完成对该待渲染界面的全部内容的展示,这样,用户已经逐步看到该待渲染界面的全部内容。此时,该该待渲染界面的内容将会逐渐消失,被新的待渲染界面所替代。这样,该待渲染界面的目标皮肤模型将被释放,被客户端存储到缓存池中。

其中,在本具体实现方式中,该目标皮肤模型为:客户端从缓存池中提取的目标皮肤模型,或者,客户端通过对待渲染界面的目标皮肤文件进行解析得到的带渲染界面的皮肤模型。

此外,由于缓存池中的目标皮肤模型是基于预设的模型复用策略所缓存的,因此,客户端在将目标皮肤模型存储到缓存池中时,同样是基于预设的模型复用策略进行的。

为了进一步节省客户端进行界面渲染的时间,提高客户端进行界面渲染的速度。可选的,一种具体实现方式中,本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法还可以包括如下步骤d1-d3:

步骤d1:检测客户端是否存在默认皮肤标识;如果存在,执行步骤d2,如果不存在,执行步骤d3;

步骤d2:从缓存池中获取任一预设皮肤模型,基于所获取的预设皮肤模型和目标数据文件,渲染待渲染界面;

其中,预设皮肤模型为:预先在缓存池中存储的具有默认皮肤标识的,且基于模型复用策略生成的皮肤模型;

步骤d3:执行上述步骤s301中,获取为待渲染界面的目标皮肤文件所设置的目标皮肤标识的步骤。

在需要渲染新的界面时,客户端可以检测自身是否存在默认皮肤标识,当检测到存在默认皮肤标识时,客户端便可以直接从缓存池中获取任一预设皮肤模型作为待渲染界面的目标皮肤模型。从而,客户端便可以按照所获取的预设皮肤模型中各类元素和控件与目标数据文件中各数据的对应关系,在所获取的预设皮肤模型中填充目标数据文件中的各类元素和控件的数据,即将所获取的预设皮肤模型与目标数据文件绑定在一起。其中,该绑定过程即为用户逐渐看到该待渲染界面的内容的过程,当绑定完成时,客户端即完成对该待渲染界面的渲染,进而,客户端可以展示该待渲染界面的全部内容。

这样,由于客户端不需要获取为待渲染界面的目标皮肤所设置的目标皮肤标识,也不需要获取待渲染界面的皮肤文件并对该皮肤文件进行解析,因此,可以降低客户端的运行开销,并进一步提高客户端进行界面渲染的速度。

相对应的,当检测到不存在默认皮肤标识时,客户端便无法直接从缓存池中获取任一预设皮肤模型作为待渲染界面的目标皮肤模型,因此,客户端需要返回执行上述步骤s301中,获取为待渲染界面的目标皮肤文件所设置的目标皮肤标识的步骤。

其中,需要说明的是,在客户端执行上述步骤d1时,可以已经获取待渲染界面的目标数据文件,则当客户端检测到自身不存在默认皮肤标识,客户端返回执行步骤s301时,则可以只获取为待渲染界面的目标皮肤所设置的目标皮肤标识。相对应的,在客户端执行上述步骤d1时,客户端也可以没有获取待渲染界面的目标数据文件,则当客户端检测到自身不存在默认皮肤标识,客户端返回执行步骤s301时,客户端需要获取待渲染界面的目标数据文件,并获取为待渲染界面的目标皮肤所设置的目标皮肤标识。这都是合理的。

显然,相应于上述具体实现方式中,当检测到客户端存在默认皮肤标识时,从缓存池中获取任一预设皮肤模型的情况,缓存池中需要预先存储有至少一个预设皮肤模型。因此,可选的,一种具体实现方式中,本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法中,在上述步骤d2中,从缓存池中获取任一预设皮肤模型的步骤之前,该界面渲染方法还可以包括如下步骤d0:

步骤d0:在缓存池中存储具有默认皮肤标识的基于模型复用策略的预设皮肤模型。

其中,客户端执行上述步骤d0的时机可以是在执行上述步骤d1,并检测到客户端存在默认皮肤标识后;也可以在客户端启动时,无论客户端是否需要进行界面渲染,均检测客户端是否存在默认皮肤标识,并检测到客户端存在默认皮肤标识后,执行上述步骤d0。即只要保证客户端在执行上述步骤d2中,从缓存池中获取任一预设皮肤模型的步骤之前,执行上述步骤d0即可。

此外,客户端在执行上述步骤d0时,所存储的具有默认皮肤标识的基于模型复用策略的预设皮肤模型的数量可以是预设数量。

其中,客户端可以通过多种方式设置默认皮肤文件标识,对此,本发明实施例不做具体限定。

可选的,一种具体实现方式中,客户端设置默认皮肤标识的方式可以为:获得用户发出的标识设置指令,将标识设置指令所指示的标识设置为客户端对应的默认皮肤标识;

在本实现方式中,客户端可以获取用户发出的标识设置指令,该标识设置指令中携带有用户为客户端所设置的默认皮肤标识,这样,客户端在接收到该标识设置指令时,便可以将该标识设置指令所指示的标识设置为客户端对应的默认皮肤标识。

可选的,另一种具体实现方式中,客户端设置默认皮肤标识的方式可以为:在检测到符合默认皮肤标识设置条件时,确定预设时间段内出现频率最高的、为渲染界面的皮肤文件所设置的标识,作为客户端对应的默认皮肤标识。

在本实现方式中,客户端可以在对各待渲染界面进行渲染时,统计为该待渲染界面的皮肤文件所设置的标识,在预设时间内的出现频率。

例如,在一周时间内,统计为渲染界面的皮肤文件所设置的标识a的出现频率为100次,为渲染界面的皮肤文件所设置的标识b的出现频率为1100次,为渲染界面的皮肤文件所设置的标识c的出现频率为15次等。

这样,当检测到符合默认皮肤设置条件时,客户端便可以确定预设时间段内出现频率最高的、为渲染界面的皮肤文件所设置的标识,进而,可以将所确定的标识作为客户端对应的默认皮肤标识。

其中,上述默认皮肤设置条件可以是客户端启动时,也可以是其他预设的条件,这都是合理的。

例如,在一周时间内,统计为渲染界面的皮肤文件所设置的标识a的出现频率为100次,为渲染界面的皮肤文件所设置的标识b的出现频率为1100次,为渲染界面的皮肤文件所设置的标识c的出现频率为15次等。这样,由于预设时间段内出现频率最高的、为渲染界面的皮肤文件所设置的标识为标识b,则客户端便可以将标识b作为对应的默认皮肤标识。

在本实现方式中,所确定的默认皮肤标识可以理解为高频出现的为渲染界面的皮肤文件所设置的标识,则可以在保证客户端可以成功对待渲染皮肤进行渲染的同时,进一步提高客户端进行皮肤渲染的速度。

进一步的,在本具体实现方式,客户端也可以在设置完成默认皮肤标识后,执行上述步骤d0,在缓存池中存储具有默认皮肤标识的基于模型复用策略的预设皮肤模型。

相应于本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法,本发明实施例还提供了一种基于皮肤缓存机制的界面渲染装置。

图4为本发明实施例提供的一种基于皮肤缓存机制的界面渲染装置的结构示意图。其中,该装置应用于客户端,客户端中预先设置存储有皮肤模型的缓存池,缓存池中的各个皮肤模型是基于预设的模型复用策略所缓存的,且各个皮肤模型的模型标识是基于模型复用策略对应的皮肤模型的属性生成的。

如图4所示,本发明实施例提供的一种基于皮肤缓存机制的界面渲染装置可以包括如下模块:

信息获取模块410,用于获取待渲染界面的目标数据文件,并获取为待渲染界面的目标皮肤所设置的目标皮肤标识,其中,目标皮肤标识用于标识待渲染界面的目标皮肤的属性;

第一时机监控模块420,用于监控待渲染界面的渲染过程是否达到第一指定时机,如果是,触发模型判断模块430;其中,每一界面的渲染过程被预分解为多个渲染时机,多个渲染时机中包括第一指定时机;

模型判断模块430,用于判断缓存池中是否存在与目标皮肤标识相同的目标模型标识;若是,触发模型提取模块440;

模型提取模块440,用于从缓存池中提取具有目标模型标识的皮肤模型,作为目标皮肤模型;

第一界面渲染模块450,用于基于目标数据文件和目标皮肤模型,渲染待渲染界面。

以上可见,应用本发明实施例提供的方案,客户端可以实现对界面渲染过程的分解,得到多个渲染时机,以使得可以引入一种支持多种模型复用策略的皮肤缓存机制。根据该皮肤缓存机制,客户端便可以在监控到渲染过程达到第一指定时机时,直接从缓存池中提取该待渲染界面的目标皮肤模型。从而减少渲染过程中,由于对待渲染界面的皮肤文件进行解析所花费的时间,以实现提高客户端进行界面渲染的速度和为用户提供更高效且流畅的客户端界面渲染效果,提升用户体验。

可选的,一种具体实现方式中,

多个渲染时机包括:准备渲染时机、将要渲染时机、开始渲染时机、渲染完成时机、准备消失时机、将要消失时机、开始消失时机和消失完成时机;

第一指定时机为:开始渲染时机。

可选的,一种具体实现方式中,上述基于皮肤缓存机制的界面渲染装置还可以包括:

文件获取模块,用于当判断结果为缓存池中不存在与目标皮肤标识相同的目标模型标识时,获取待渲染界面的目标皮肤文件;

第二界面渲染模块,用于基于目标皮肤文件和目标数据文件,渲染待渲染界面。

可选的,一种具体实现方式中,上述基于皮肤缓存机制的界面渲染装置还可以包括:

标识检测模块,用于在信息获取模块执行获取为待渲染界面的目标皮肤所设置的目标皮肤标识的步骤之前,检测客户端是否存在默认皮肤标识;如果存在,触发模型获取模块;如果不存在,触发信息获取模块;

模型获取模块,用于从缓存池中获取任一预设皮肤模型,基于所获取的预设皮肤模型和目标数据文件,渲染待渲染界面;其中,预设皮肤模型为:预先在缓存池中存储的具有默认皮肤标识的,且基于模型复用策略生成的皮肤模型。

可选的,一种具体实现方式中,上述基于皮肤缓存机制的界面渲染装置可以包括:

第一模型存储模块,用于在从缓存池中获取任一预设皮肤模型的步骤之前,在缓存池中存储具有默认皮肤标识的基于模型复用策略的预设皮肤模型。

可选的,一种具体实现方式中,上述基于皮肤缓存机制的界面渲染装置还可以包括:

标识设置模块,用于设置默认皮肤标识;

其中,标识设置模块,具体用于获得用户发出的标识设置指令,将标识设置指令所指示的标识设置为客户端对应的默认皮肤标识;

或,

标识设置模块,具体用于在检测到符合默认皮肤标识设置条件时,确定预设时间段内出现频率最高的,且为渲染界面的皮肤文件所设置的标识,作为客户端对应的默认皮肤标识。

可选的,一种具体实现方式中,上述基于皮肤缓存机制的界面渲染装置还可以包括:

模型删除模块,用于在模型提取模块执行从所述缓存池中提取具有所述目标模型标识的皮肤模型的步骤之后,在第一界面渲染模块执行渲染待渲染界面的步骤之前,删除缓存池中所存储的目标皮肤模型。

可选的,一种具体实现方式中,上述基于皮肤缓存机制的界面渲染还可以包括第二时机监控模块和第二模型存储模块;

第二时机监控模块,用于监控待渲染界面的渲染过程是否达到多个渲染时间包括的第二指定时机;若是,触发第二模型存储模块;

第二模型存储模块,用于将目标皮肤模型存储到缓存池中。

本发明实施例还提供了一种电子设备,该电子设备安装有客户端。如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,实现上述本发明实施例提供的一种基于皮肤缓存机制的界面渲染方法。

具体的,上述界面渲染方法,应用于客户端,客户端中预先设置存储有皮肤模型的缓存池,缓存池中的各个皮肤模型是基于预设的模型复用策略所缓存的,且各个皮肤模型的模型标识是基于模型复用策略对应的皮肤模型的属性生成的;该界面渲染方法包括:

获取待渲染界面的目标数据文件,并获取为待渲染界面的目标皮肤所设置的目标皮肤标识,其中,目标皮肤标识用于标识待渲染界面的目标皮肤的属性;

监控待渲染界面的渲染过程是否达到第一指定时机,其中,每一界面的渲染过程被预分解为多个渲染时机,多个渲染时机中包括第一指定时机;

若是,判断缓存池中是否存在与目标皮肤标识相同的目标模型标识;

当判断结果为是时,从缓存池中提取具有目标模型标识的皮肤模型,作为目标皮肤模型;

基于目标数据文件和目标皮肤模型,渲染待渲染界面。

需要说明的是,上述处理器501执行存储器503上存放的程序而实现的一种基于皮肤缓存机制的界面渲染方法的其他实现方式,与前述方法实施例部分提供的一种基于皮肤缓存机制的界面渲染方法实施例相同,这里不再赘述。

以上可见,应用本发明实施例提供的方案,客户端可以实现对界面渲染过程的分解,得到多个渲染时机,以使得可以引入一种支持多种模型复用策略的皮肤缓存机制。根据该皮肤缓存机制,客户端便可以在监控到渲染过程达到第一指定时机时,直接从缓存池中提取该待渲染界面的目标皮肤模型。从而减少渲染过程中,由于对待渲染界面的皮肤文件进行解析所花费的时间,以实现提高客户端进行界面渲染的速度和为用户提供更高效且流畅的客户端界面渲染效果,提升用户体验。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一的一种基于皮肤缓存机制的界面渲染方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一的一种基于皮肤缓存机制的界面渲染方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1