CN111338628B - 组件渲染方法及设备 - Google Patents
组件渲染方法及设备 Download PDFInfo
- Publication number
- CN111338628B CN111338628B CN202010162445.5A CN202010162445A CN111338628B CN 111338628 B CN111338628 B CN 111338628B CN 202010162445 A CN202010162445 A CN 202010162445A CN 111338628 B CN111338628 B CN 111338628B
- Authority
- CN
- China
- Prior art keywords
- component
- processed
- rendering
- rendering state
- state
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- 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/451—Execution arrangements for user interfaces
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例提供一种组件渲染方法及设备,该方法在接收到待处理组件对应的窗口尺寸发生变化的通知后,通过确定待处理组件的当前渲染状态,如果组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。而且,如果组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,这里,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数,能够进行精细粒度渲染,进而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种组件渲染方法及设备。
背景技术
组件(Component)一般指可复用的数据对象,其能够完成某种功能并可以对外提供数据接口以使用该功能。通常可以将一些访问频率较高的数据对象作为组件。例如,可以将一个输入框作为一个组件,或者,可以将一个按钮作为一个组件,又或者,可以将一个复选框和一个文本框的组合作为一个组件。渲染(Render)一般指将数据对象转变为可视对象的过程。对组件进行渲染,可以指基于该组件的样式数据生成该组件的样式,以将该组件转变为可视对象的过程。
随着互联网技术的发展,用户越来越多地通过应用程序客户端浏览或购买商品。例如,通过移动智能电话安装的应用程序客户端浏览或购买商品。应用程序客户端一般可以包括多个界面(User Interface,简称UI)。每个界面可以包括一个或多个组件。用户通过与一个或多个组件进行交互,可以对该界面中的商品进行操作。例如,界面可以包括按钮组件,用户通过点击该按钮组件,可以购买该界面中的商品。在生成界面的过程中,通常需要对该界面中的组件进行自适应渲染。页面组件自适应是指页面组件内容能够自动适应窗口大小。
为了实现组件自适应,通常基于窗口缩放事件监听技术实现组件自适应。现有使用窗口缩放事件监听技术,需要根据触发事件实时计算窗口尺寸来确定组件的尺寸并进行重新渲染,在用户连续进行窗口缩放的场景下,由于resize事件会以较高的速率触发,该方案会进行组件的实时连续渲染,导致页面的渲染效率过低,随着自适应组件数增多、渲染频率加快,容易出现页面僵死崩溃问题,严重影响用户体验。
发明内容
本发明实施例提供一种组件渲染方法及设备,以克服现有基于窗口缩放事件监听技术实现组件自适应,在自适应组件量多、渲染频率快的场景下,用户感知差,也难以满足要求的问题。
第一方面,本发明实施例提供一种组件渲染方法,包括:
若接收到待处理组件对应的窗口尺寸发生变化的通知,则确定所述待处理组件的当前渲染状态;
若所述待处理组件的当前渲染状态为中间渲染状态,则停止对所述待处理组件的渲染;
若所述待处理组件的当前渲染状态为最终渲染状态,则调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染,其中,所述回调函数为窗口尺寸变化之后所述待处理组件需要执行的函数。
在一种可能的设计中,所述确定所述待处理组件的当前渲染状态,包括:
获取所述待处理组件的渲染策略标识位,所述渲染策略标识位用于表示组件是否需要渲染的信息;
若所述待处理组件的渲染策略标识位表示第一预设信息,则确定所述待处理组件的当前渲染状态为所述最终渲染状态;
若所述待处理组件的渲染策略标识位表示第二预设信息,则确定所述待处理组件的当前渲染状态为所述中间渲染状态,其中,所述第二预设信息与所述第一预设信息不同。
在一种可能的设计中,上述的方法,还包括:
在所述待处理组件加载时,接收所述待处理组件写入注册接口对象的所述回调函数。
在一种可能的设计中,在所述确定所述待处理组件的当前渲染状态为所述最终渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若存在所述待处理组件的延时器,则清除所述待处理组件的延时器,执行所述调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染的步骤。
在一种可能的设计中,在所述确定所述待处理组件的当前渲染状态为所述中间渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若不存在所述待处理组件的延时器,则创建所述待处理组件的延时器,并在所述待处理组件的延时器到期后,将所述待处理组件的渲染策略标识位设置为所述第一预设信息。
在一种可能的设计中,上述的方法,还包括:
创建注册列表,所述注册列表包括注册接口对象与组件的对应关系;
在所述接收所述待处理组件写入注册接口对象的所述回调函数之前,还包括:
根据所述对应关系,确定所述待处理组件对应的注册接口对象。
第二方面,本发明实施例提供一种组件渲染设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:
若接收到待处理组件对应的窗口尺寸发生变化的通知,则确定所述待处理组件的当前渲染状态;
若所述待处理组件的当前渲染状态为中间渲染状态,则停止对所述待处理组件的渲染;
若所述待处理组件的当前渲染状态为最终渲染状态,则调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染,其中,所述回调函数为窗口尺寸变化之后所述待处理组件需要执行的函数。
在一种可能的设计中,所述确定所述待处理组件的当前渲染状态,包括:
获取所述待处理组件的渲染策略标识位,所述渲染策略标识位用于表示组件是否需要渲染的信息;
若所述待处理组件的渲染策略标识位表示第一预设信息,则确定所述待处理组件的当前渲染状态为所述最终渲染状态;
若所述待处理组件的渲染策略标识位表示第二预设信息,则确定所述待处理组件的当前渲染状态为所述中间渲染状态,其中,所述第二预设信息与所述第一预设信息不同。
在一种可能的设计中,所述处理器执行所述计算机执行指令时还实现如下步骤:
在所述待处理组件加载时,接收所述待处理组件写入注册接口对象的所述回调函数。
在一种可能的设计中,在所述确定所述待处理组件的当前渲染状态为所述最终渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若存在所述待处理组件的延时器,则清除所述待处理组件的延时器,执行所述调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染的步骤。
在一种可能的设计中,在所述确定所述待处理组件的当前渲染状态为所述中间渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若不存在所述待处理组件的延时器,则创建所述待处理组件的延时器,并在所述待处理组件的延时器到期后,确定所述待处理组件的当前渲染状态为所述最终渲染状态。
在一种可能的设计中,所述处理器执行所述计算机执行指令时还实现如下步骤:
创建注册列表,所述注册列表包括注册接口对象与组件的对应关系;
在所述接收所述待处理组件写入注册接口对象的所述回调函数之前,还包括:
根据所述对应关系,确定所述待处理组件对应的注册接口对象。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的组件渲染方法。
本实施例提供的组件渲染方法及设备,该方法在接收到待处理组件对应的窗口尺寸发生变化的通知后,通过确定待处理组件的当前渲染状态,如果待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。而且,如果待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,这里,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数,能够进行精细粒度渲染,进而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种组件渲染系统架构示意图;
图2为本申请实施例提供的一种组件渲染方法的流程示意图;
图3为本申请实施例提供的另一种组件渲染方法的流程示意图;
图4为本申请实施例提供的再一种组件渲染方法的流程示意图;
图5为本申请实施例提供的一种组件渲染装置的结构示意图;
图6为本申请实施例提供的另一种组件渲染装置的结构示意图;
图7为本申请实施例提供的组件渲染设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了实现组件自适应,通常基于窗口缩放事件监听技术实现组件自适应。现有使用窗口缩放事件监听技术,需要根据触发事件实时计算窗口尺寸来确定组件的尺寸并进行重新渲染,在用户连续进行窗口缩放的场景下,由于resize事件会以较高的速率触发,该方案会进行组件的实时连续渲染,导致页面的渲染效率过低,随着自适应组件数增多、渲染频率加快,容易出现页面僵死崩溃问题,严重影响用户体验。
因此,考虑到上述问题,本申请提供一种组件渲染方法,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。而且,对于需要渲染的组件,调用待处理组件的回调函数对进行自适应渲染,这里,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数,能够进行精细粒度组件渲染,进而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
本申请提供的一种组件渲染方法,可以适用于图1所示的组件渲染系统架构示意图,如图1所示,该系统包括可以包括文档视图调整事件监听组件101、渲染延时器组件102和自适应组件103中至少一种。这里,自适应组件103可以有多个。
在具体实现过程中,文档视图调整事件监听组件101可以实时监听组件对应的窗口尺寸变化,并在监听到待处理组件对应的窗口尺寸发生变化时,发送相应通知至渲染延时器组件102。其中,待处理组件可以为自适应组件103中的一个或多个。渲染延时器组件102可以提供外部订阅注册接口,自适应组件103可以在渲染延时器组件102进行注册。渲染延时器组件102可以基于上述通知,确定待处理组件的当前渲染状态,如果待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染,如果待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,其中,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数。
这里,通过将渲染延时器单独作为组件创建使用,避免了各自适应组件内部进行自适应渲染的维护,满足高内聚低耦合特性。
另外,自适应渲染由渲染延时器组件来决定进行,其他状态渲染可以由各组件自行决定进行。
上述系统仅为一种示例性系统,具体实施时,可以根据应用需求设置。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种组件渲染方法的流程示意图,本申请实施例的执行主体可以为图1所示实施例中的渲染延时器组件。如图2所示,该方法可以包括:
S201:若接收到待处理组件对应的窗口尺寸发生变化的通知,则确定待处理组件的当前渲染状态。
这里,渲染延时器组件可以基于发布-订阅模式提供服务。在接收到文档视图调整事件监听组件发送的待处理组件对应的窗口尺寸发生变化的通知后,确定待处理组件的当前渲染状态。
其中,文档视图调整事件监听组件监听组件对应的窗口尺寸是否发生变化,可以包括:文档视图调整事件监听组件将监听到的组件对应的窗口尺寸,与预存的该组件对应的窗口尺寸进行比较,若不同,则确定上述组件对应的窗口尺寸发生变化。这里,预存的组件对应的窗口尺寸可以根据实际情况确定,例如组件最近一次进行组件渲染对应的窗口尺寸。
另外,若文档视图调整事件监听组件监听组件对应的窗口尺寸没有发生变化,可以进行相应提示,例如窗口尺寸不变,以便相关人员及时了解相应信息。
在本申请实施例中,每个组件可以携带渲染状态标识,该渲染状态标识用于表示组件是否需要渲染的信息。
上述确定待处理组件的当前渲染状态,可以包括:根据待处理组件的渲染状态标识,确定待处理组件的当前渲染状态。
S202:若待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染。
如果待处理组件的当前渲染状态为中间渲染状态,则渲染延时器组件停止对待处理组件的渲染,消除自适应过程中的中间态渲染,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率。
S203:若待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,其中,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数。
这里,渲染延时器组件在待处理组件的当前渲染状态为最终渲染状态时,可以调用上述回调函数,基于组件对应的窗口尺寸进行精细粒度组件渲染,从而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
其中,上述回调函数可以根据实际情况设置,例如设置不同组件对应不同回调函数,回调函数为基于组件对应的窗口尺寸的函数。
示例性的,在上述调用待处理组件的回调函数对待处理组件进行自适应渲染之前,还可以包括:确定上述调用待处理组件对应的回调函数。
另外,上述调用待处理组件的回调函数对待处理组件进行自适应渲染渲染可以包括:发送调用指令至待处理组件的回调函数,以使回调函数触发后,立即进行重新渲染,完成组件的自适应。
从上述描述可知,本申请实施例在接收到待处理组件对应的窗口尺寸发生变化的通知后,通过确定待处理组件的当前渲染状态,如果待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。而且,如果待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,这里,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数,能够进行精细粒度渲染,进而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
另外,本申请实施例还能够基于待处理组件的渲染策略标识位,确定待处理组件的当前渲染状态。图3为本申请实施例提供的另一种组件渲染方法的流程示意图,本申请实施例的执行主体可以为图1所示实施例中的渲染延时器组件。如图3所示,该方法包括:
S301:若接收到待处理组件对应的窗口尺寸发生变化的通知,则获取待处理组件的渲染策略标识位,该渲染策略标识位用于表示组件是否需要渲染的信息。
这里,上述渲染策略标识位用于表示组件是否需要渲染的信息,例如组件的当前渲染状态为最终渲染状态,上述渲染策略标识位表示组件需要渲染,组件的当前渲染状态为中间渲染状态,上述渲染策略标识位表示组件禁止渲染等,具体可以根据实际情况设置,本申请实施例对此不做特别限制。
S302:若上述待处理组件的渲染策略标识位表示第一预设信息,确定待处理组件的当前渲染状态为最终渲染状态。
S303:若上述待处理组件的渲染策略标识位表示第二预设信息,则确定待处理组件的当前渲染状态为中间渲染状态。
其中,上述第二预设信息与上述第一预设信息不同。例如上述第一预设信息为需要渲染,上述第二预设信息为禁止渲染等,本申请实施例对此不做特别限制。
可选地,在上述确定待处理组件的当前渲染状态为最终渲染状态之后,还包括:
确定是否存在待处理组件的延时器;
若存在待处理组件的延时器,则清除待处理组件的延时器,执行上述调用待处理组件的回调函数对待处理组件进行自适应渲染的步骤。
这里,如果上述待处理组件的渲染策略标识位表示第一预设信息,说明待处理组件的当前渲染状态为最终渲染状态,渲染延时器组件确定是否存在待处理组件的延时器,如果存在,清除该延时器,立即调用待处理组件的回调函数对待处理组件进行自适应渲染。如果不存在,立即调用待处理组件的回调函数对待处理组件进行自适应渲染。
示例性的,在上述调用待处理组件的回调函数对待处理组件进行自适应渲染之后,还包括:将上述待处理组件的渲染策略标识位设置为第二预设信息,从而,在后续处理中,基于上述渲染策略标识对上述待处理组件进行相应处理,适合实际应用。
可选地,在上述确定待处理组件的当前渲染状态为中间渲染状态之后,还包括:
确定是否存在待处理组件的延时器;
若不存在待处理组件的延时器,则创建待处理组件的延时器,并在待处理组件的延时器到期后,将待处理组件的渲染策略标识位设置为上述第一预设信息。
这里,如果上述待处理组件的渲染策略标识位表示第二预设信息,说明待处理组件的当前渲染状态为中间渲染状态,渲染延时器组件确定是否存在待处理组件的延时器,如果不存在,则创建延时器,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。并且在待处理组件的延时器到期后,将待处理组件的渲染策略标识位设置为上述第一预设信息,从而,使得待处理组件的当前渲染状态调整为最终渲染状态,调用待处理组件的回调函数对待处理组件进行自适应渲染,适合实际应用。
另外,如果存在待处理组件的延时器,则不再创建延时器,并在上述延时器到期后,将待处理组件的渲染策略标识位设置为上述第一预设信息。
S304:若待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染。
S305:若待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,其中,该回调函数为窗口尺寸变化之后待处理组件需要执行的函数。
其中,步骤S304-S305与上述步骤S202-S203的实现方式相同,此处不再赘述。
从上述描述可知,本申请实施例在接收到待处理组件对应的窗口尺寸发生变化的通知后,通过渲染策略标识位确定待处理组件的当前渲染状态,简单、准确,如果待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。而且,如果待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,这里,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数,能够进行精细粒度渲染,进而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
另外,本申请实施例还能够在待处理组件加载时,接收待处理组件写入注册接口对象的回调函数。图4为本申请实施例提供的再一种组件渲染方法的流程示意图,本申请实施例的执行主体可以为图1所示实施例中的渲染延时器组件。如图4所示,该方法包括:
S401:创建注册列表,该注册列表包括注册接口对象与组件的对应关系。
这里,渲染延时器组件创建注册列表,并在注册列表中创建注册接口对象与组件的对应关系,以便后续在组件加载注册时,可以根据该对应关系,找到相应的注册接口对象进行注册。
S402:根据上述对应关系,确定待处理组件对应的注册接口对象,在待处理组件加载时,接收待处理组件写入注册接口对象的回调函数。
具体的,渲染延时器组件在上述对应关系中找到待处理组件对应的注册接口对象,并在组件加载时,接收待处理组件写入注册接口对象的回调函数,从而,在后续自适应渲染时,可以调用写入的回调函数对待处理组件进行自适应渲染,简单、方便,适合应用。
S403:若接收到待处理组件对应的窗口尺寸发生变化的通知,则确定待处理组件的当前渲染状态。
S404:若待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染。
S405:若待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,其中,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数。
其中,步骤S403-S405与上述步骤S201-S203的实现方式相同,此处不再赘述。
从上述描述可知,本申请实施例首先组件在渲染延时器组件进行注册,写入回调函数,从而,在后续自适应渲染时,渲染延时器组件可以直接调用写入的回调函数对待处理组件进行自适应渲染,提高渲染速度,而且本申请实施例在接收到待处理组件对应的窗口尺寸发生变化的通知后,通过渲染策略标识位确定待处理组件的当前渲染状态,简单、准确,如果待处理组件的当前渲染状态为中间渲染状态,则停止对待处理组件的渲染,消除自适应过程中的中间态渲染,从而,在自适应组件量多、渲染频率快的场景下,实现组件自适应的同时,保证了自适应组件的渲染效率,提高用户体验,满足要求。而且,如果待处理组件的当前渲染状态为最终渲染状态,则调用待处理组件的回调函数对待处理组件进行自适应渲染,这里,上述回调函数为窗口尺寸变化之后待处理组件需要执行的函数,能够进行精细粒度渲染,进而,在对自适应组件尺寸精细粒度要求较高的场景下,满足对组件自适应的要求。
对应于上文实施例的组件渲染方法,图5为本申请实施例提供的一种组件渲染装置的结构示意图。为了便于说明,仅示出了与本申请实施例相关的部分。图5为本申请实施例提供的一种组件渲染装置的结构示意图。如图5所示,该组件渲染装置50包括:确定模块501、第一处理模块502以及第二处理模块503。
其中,确定模块501,用于若接收到待处理组件对应的窗口尺寸发生变化的通知,则确定所述待处理组件的当前渲染状态。
第一处理模块502,用于若所述待处理组件的当前渲染状态为中间渲染状态,则停止对所述待处理组件的渲染。
第二处理模块503,用于若所述待处理组件的当前渲染状态为最终渲染状态,则调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染,其中,所述回调函数为窗口尺寸变化之后所述待处理组件需要执行的函数。
本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。
对应于上文实施例的组件渲染方法,图6为本申请实施例提供的另一种组件渲染装置的结构示意图。如图6所示,在上述图5基础上,上述组件渲染装置50还包括:接收模块504和创建模块505。
其中,所述确定模块501确定所述待处理组件的当前渲染状态,包括:
获取所述待处理组件的渲染策略标识位,所述渲染策略标识位用于表示组件是否需要渲染的信息;
若所述待处理组件的渲染策略标识位表示第一预设信息,则确定所述待处理组件的当前渲染状态为所述最终渲染状态;
若所述待处理组件的渲染策略标识位表示第二预设信息,则确定所述待处理组件的当前渲染状态为所述中间渲染状态,其中,所述第二预设信息与所述第一预设信息不同。
在一种可能的设计中,接收模块504,用于在所述待处理组件加载时,接收所述待处理组件写入注册接口对象的所述回调函数。
在一种可能的设计中,确定模块501在所述确定所述待处理组件的当前渲染状态为所述最终渲染状态之后,还用于:
确定是否存在所述待处理组件的延时器;
若存在所述待处理组件的延时器,则清除所述待处理组件的延时器,执行所述调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染的步骤。
在一种可能的设计中,确定模块501在所述确定所述待处理组件的当前渲染状态为所述中间渲染状态之后,还用于:
确定是否存在所述待处理组件的延时器;
若不存在所述待处理组件的延时器,则创建所述待处理组件的延时器,并在所述待处理组件的延时器到期后,将所述待处理组件的渲染策略标识位设置为所述第一预设信息。
在一种可能的设计中,创建模块505,用于创建注册列表,所述注册列表包括注册接口对象与组件的对应关系。
接收模块504在所述接收所述待处理组件写入注册接口对象的所述回调函数之前,还用于:
根据所述对应关系,确定所述待处理组件对应的注册接口对象。
本申请实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本申请实施例此处不再赘述。
图7为本发明实施例提供的组件渲染设备的硬件结构示意图。如图7所示,本实施例的组件渲染设备70包括:处理器701以及存储器702;其中
存储器702,用于存储计算机执行指令;
处理器701,用于执行存储器存储的计算机执行指令,以实现如下步骤:
若接收到待处理组件对应的窗口尺寸发生变化的通知,则确定所述待处理组件的当前渲染状态;
若所述待处理组件的当前渲染状态为中间渲染状态,则停止对所述待处理组件的渲染;
若所述待处理组件的当前渲染状态为最终渲染状态,则调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染,其中,所述回调函数为窗口尺寸变化之后所述待处理组件需要执行的函数。
在一种可能的设计中,所述确定所述待处理组件的当前渲染状态,包括:
获取所述待处理组件的渲染策略标识位,所述渲染策略标识位用于表示组件是否需要渲染的信息;
若所述待处理组件的渲染策略标识位表示第一预设信息,则确定所述待处理组件的当前渲染状态为所述最终渲染状态;
若所述待处理组件的渲染策略标识位表示第二预设信息,则确定所述待处理组件的当前渲染状态为所述中间渲染状态,其中,所述第二预设信息与所述第一预设信息不同。
在一种可能的设计中,还包括:
在所述待处理组件加载时,接收所述待处理组件写入注册接口对象的所述回调函数。
在一种可能的设计中,在所述确定所述待处理组件的当前渲染状态为所述最终渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若存在所述待处理组件的延时器,则清除所述待处理组件的延时器,执行所述调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染的步骤。
在一种可能的设计中,在所述确定所述待处理组件的当前渲染状态为所述中间渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若不存在所述待处理组件的延时器,则创建所述待处理组件的延时器,并在所述待处理组件的延时器到期后,将所述待处理组件的渲染策略标识位设置为所述第一预设信息。
在一种可能的设计中,还包括:
创建注册列表,所述注册列表包括注册接口对象与组件的对应关系;
在所述接收所述待处理组件写入注册接口对象的所述回调函数之前,还包括:
根据所述对应关系,确定所述待处理组件对应的注册接口对象。
可选地,存储器702既可以是独立的,也可以跟处理器701集成在一起。
当存储器702独立设置时,该组件渲染设备还包括总线703,用于连接所述存储器702和处理器701。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的组件渲染方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended IndustryStandard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (7)
1.一种组件渲染方法,其特征在于,包括:
若接收到待处理组件对应的窗口尺寸发生变化的通知,则渲染延时器组件基于上述通知,确定所述待处理组件的当前渲染状态;
若所述待处理组件的当前渲染状态为中间渲染状态,则停止对所述待处理组件的渲染;
若所述待处理组件的当前渲染状态为最终渲染状态,则调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染,其中,不同组件对应不同回调函数,所述回调函数为窗口尺寸变化之后所述待处理组件需要执行的函数;
所述确定所述待处理组件的当前渲染状态,包括:
获取所述待处理组件的渲染策略标识位,所述渲染策略标识位用于表示组件是否需要渲染的信息;
若所述待处理组件的渲染策略标识位表示第一预设信息,则确定所述待处理组件的当前渲染状态为所述最终渲染状态;
若所述待处理组件的渲染策略标识位表示第二预设信息,则确定所述待处理组件的当前渲染状态为所述中间渲染状态,其中,所述第二预设信息与所述第一预设信息不同;
在所述确定所述待处理组件的当前渲染状态为所述最终渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若存在所述待处理组件的延时器,则清除所述待处理组件的延时器,执行所述调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染的步骤。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述待处理组件加载时,接收所述待处理组件写入注册接口对象的所述回调函数。
3.根据权利要求1所述的方法,其特征在于,在所述确定所述待处理组件的当前渲染状态为所述中间渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若不存在所述待处理组件的延时器,则创建所述待处理组件的延时器,并在所述待处理组件的延时器到期后,将所述待处理组件的渲染策略标识位设置为所述第一预设信息。
4.根据权利要求2所述的方法,其特征在于,还包括:
创建注册列表,所述注册列表包括注册接口对象与组件的对应关系;
在所述接收所述待处理组件写入注册接口对象的所述回调函数之前,还包括:
根据所述对应关系,确定所述待处理组件对应的注册接口对象。
5.一种组件渲染设备,其特征在于,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机执行指令,所述处理器执行所述计算机执行指令时实现如下步骤:
若接收到待处理组件对应的窗口尺寸发生变化的通知,则渲染延时器组件基于上述通知,确定所述待处理组件的当前渲染状态;
若所述待处理组件的当前渲染状态为中间渲染状态,则停止对所述待处理组件的渲染;
若所述待处理组件的当前渲染状态为最终渲染状态,则调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染,其中,不同组件对应不同回调函数,所述回调函数为窗口尺寸变化之后所述待处理组件需要执行的函数;
所述确定所述待处理组件的当前渲染状态,包括:
获取所述待处理组件的渲染策略标识位,所述渲染策略标识位用于表示组件是否需要渲染的信息;
若所述待处理组件的渲染策略标识位表示第一预设信息,则确定所述待处理组件的当前渲染状态为所述最终渲染状态;
若所述待处理组件的渲染策略标识位表示第二预设信息,则确定所述待处理组件的当前渲染状态为所述中间渲染状态,其中,所述第二预设信息与所述第一预设信息不同;
在所述确定所述待处理组件的当前渲染状态为所述最终渲染状态之后,还包括:
确定是否存在所述待处理组件的延时器;
若存在所述待处理组件的延时器,则清除所述待处理组件的延时器,执行所述调用所述待处理组件的回调函数对所述待处理组件进行自适应渲染的步骤。
6.根据权利要求5所述的设备,其特征在于,所述处理器执行所述计算机执行指令时还实现如下步骤:
在所述待处理组件加载时,接收所述待处理组件写入注册接口对象的所述回调函数。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至4任一项所述的组件渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162445.5A CN111338628B (zh) | 2020-03-10 | 2020-03-10 | 组件渲染方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010162445.5A CN111338628B (zh) | 2020-03-10 | 2020-03-10 | 组件渲染方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111338628A CN111338628A (zh) | 2020-06-26 |
CN111338628B true CN111338628B (zh) | 2023-07-18 |
Family
ID=71182238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010162445.5A Active CN111338628B (zh) | 2020-03-10 | 2020-03-10 | 组件渲染方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111338628B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035105A (zh) * | 2020-09-16 | 2020-12-04 | 北京思明启创科技有限公司 | 可视化区域的渲染方法、装置、设备和存储介质 |
CN112486489A (zh) * | 2020-12-11 | 2021-03-12 | 上海悦易网络信息技术有限公司 | 一种拍卖组件的渲染方法及设备 |
CN113127784A (zh) * | 2021-04-29 | 2021-07-16 | 平安国际智慧城市科技股份有限公司 | 大屏数据可视化显示方法、装置、存储介质和计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101523386A (zh) * | 2006-09-29 | 2009-09-02 | 雅虎公司 | 用于针对远程设备渲染内容的平台 |
US8312552B1 (en) * | 2005-12-15 | 2012-11-13 | Emc Corporation | Method and system for rendering watermarked content |
CN109388467A (zh) * | 2018-09-30 | 2019-02-26 | 百度在线网络技术(北京)有限公司 | 地图信息显示方法、装置、计算机设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030187744A1 (en) * | 2002-03-27 | 2003-10-02 | Goodridge Alan Gardner | System for enabling omnidirectional navigation of hierarchical networks with spatial continuity |
CN101996073B (zh) * | 2009-08-31 | 2014-02-05 | 阿里巴巴集团控股有限公司 | 一种组件渲染方法及装置 |
US20110055683A1 (en) * | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
CN106155602A (zh) * | 2015-03-24 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种页面模块的渲染方法、装置以及显示设备 |
CN105160020B (zh) * | 2015-09-29 | 2019-01-22 | 北京京东尚科信息技术有限公司 | 网页渲染的方法 |
US10212061B2 (en) * | 2016-04-25 | 2019-02-19 | Google Llc | Dynamically rendering interaction statistics data for content elements of an information resource using visual styles |
US10318629B2 (en) * | 2017-11-01 | 2019-06-11 | Microsoft Technology Licensing, Llc | Adaptive content rendering for optimizing page layout |
-
2020
- 2020-03-10 CN CN202010162445.5A patent/CN111338628B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8312552B1 (en) * | 2005-12-15 | 2012-11-13 | Emc Corporation | Method and system for rendering watermarked content |
CN101523386A (zh) * | 2006-09-29 | 2009-09-02 | 雅虎公司 | 用于针对远程设备渲染内容的平台 |
CN109388467A (zh) * | 2018-09-30 | 2019-02-26 | 百度在线网络技术(北京)有限公司 | 地图信息显示方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
Adaptive parallax for 3D television;Kai Ide等;《2010 3DTV-Conference: The True Vision - Capture, Transmission and Display of 3D Video》;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111338628A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111338628B (zh) | 组件渲染方法及设备 | |
EP2948846B1 (en) | Resource calling for hybrid applications | |
CN108462760B (zh) | 电子装置、集群访问域名自动生成方法及存储介质 | |
US20170005858A1 (en) | Log processing method and client | |
WO2018054170A1 (zh) | 浏览器资源预拉取方法、终端及存储介质 | |
US11182536B2 (en) | System and method for dynamic webpage rendering with no flicker or flash of original content | |
CN107479868B (zh) | 一种界面加载方法、装置及设备 | |
CN114528517A (zh) | 一种视图处理方法、装置、电子设备及计算机可读介质 | |
CN112506950A (zh) | 数据聚合处理方法、计算节点、计算集群及存储介质 | |
CN109522021B (zh) | 参数回调处理方法、装置、电子设备及存储介质 | |
CN114189559A (zh) | 基于Axios的接口重复请求处理方法及系统 | |
US8810601B2 (en) | Systems, methods, and articles of manufacture for virtual display | |
CN111049883B (zh) | 分布式表格系统的数据读取方法、装置及系统 | |
CN110442400B (zh) | 浏览器控制方法及装置 | |
CN113010214A (zh) | 一种bios选项设置方法、系统及存储介质 | |
CN110069313B (zh) | 图像切换方法、装置、电子设备及存储介质 | |
CN108062224B (zh) | 基于文件句柄的数据读写方法、装置及计算设备 | |
CN111294377A (zh) | 一种依赖关系的网络请求发送方法、终端装置及存储介质 | |
CN113536168B (zh) | 组件处理方法及设备 | |
CN110995641A (zh) | 骚扰信息识别方法、装置、电子设备及介质 | |
CN111381977A (zh) | 消息处理方法及设备 | |
CN111427630A (zh) | 冷启动优化方法和装置、电子设备和存储介质 | |
CN113079110B (zh) | 消息处理方法、装置、设备及存储介质 | |
CN114428646B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110489173B (zh) | 一种ceph镜像块设备卸载方法、系统及存储介质 |
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 |