首页 / 专利库 / 废物处理与管理 / 废物处理 / 回收利用 / 一种列表页数据显示方法以及列表页数据显示装置

一种列表页数据显示方法以及列表页数据显示装置

阅读:697发布:2023-09-27

专利汇可以提供一种列表页数据显示方法以及列表页数据显示装置专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种列表页数据显示方法以及列表页数据显示装置,该方法包括:Native端对位于屏幕的可见区域的组件Cell进行 渲染 ,得到已渲染Cell;利用所述已渲染Cell显示所述Cell对应的第一列表页数据;在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。这样,在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据,无需创建新的Cell,节省内存。,下面是一种列表页数据显示方法以及列表页数据显示装置专利的具体信息内容。

1.一种列表页数据显示方法,其特征在于,包括:
Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;
利用所述已渲染Cell显示所述Cell对应的第一列表页数据;
在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;
确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;
如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。
2.如权利要求1所述的方法,其特征在于,所述利用所述回收Cell显示所述第二列表页数据,包括:
判断所述第二列表页数据与所述第一列表页数据是否相同;
在所述第二列表页数据与所述第一列表页数据相同的情况下,利用所述回收cell显示所述第二列表页数据;
在所述第二列表页数据与所述第一列表页数据不相同的情况下,对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据。
3.如权利要求2所述的方法,其特征在于,所述对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据,包括:
获取所述回收cell的类型;
根据获取到的所述回收cell的类型,对所述回收cell进行渲染;
利用经过渲染的回收cell显示所述第二列表页数据。
4.如权利要求3所述的方法,其特征在于,所述根据获取到的所述回收cell的类型,对所述回收cell进行渲染,包括:
在所述回收cell的类型为Javascript类型时,所述Native端向Javascript端发送渲染请求,以使所述Javascript端根据所述渲染请求组织所述回收cell的目标样式;
所述Native端根据所述Javascript端发送的目标样式对所述回收cell进行渲染。
5.如权利要求3所述的方法,其特征在于,所述根据获取到的所述回收cell的类型,对所述回收cell进行渲染,包括:
在所述回收cell的类型为Native类型时,所述Native端对所述回收cell进行渲染。
6.一种列表页数据显示装置,其特征在于,包括:
渲染模,用于Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;
第一显示模块,用于利用所述已渲染Cell显示所述Cell对应的第一列表页数据;
缓存模块,用于在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;
确定模块,用于确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;
第二显示模块,用于如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。
7.如权利要求6所述的列表页数据显示装置,其特征在于,所述第二显示模块包括:
判断子模块,用于判断所述第二列表页数据与所述第一列表页数据是否相同;
第一显示子模块,用于在所述第二列表页数据与所述第一列表页数据相同的情况下,利用所述回收cell显示所述第二列表页数据;
第二显示子模块,用于在所述第二列表页数据与所述第一列表页数据不相同的情况下,对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据。
8.如权利要求7所述的列表页数据显示装置,其特征在于,所述第二显示子模块包括:
获取单元,用于获取所述回收cell的类型;
渲染单元,用于根据获取到的所述回收cell的类型,对所述回收cell进行渲染;
显示单元,用于利用经过渲染的回收cell显示所述第二列表页数据。
9.如权利要求8所述的列表页数据显示装置,其特征在于,所述渲染单元包括:
发送子单元,用于在所述回收cell的类型为Javascript类型时,所述Native端向Javascript端发送渲染请求,以使所述Javascript端根据所述渲染请求组织所述回收cell的目标样式;
渲染子单元,用于所述Native端根据所述Javascript端发送的目标样式对所述回收cell进行渲染。
10.如权利要求8所述的列表页数据显示装置,其特征在于,所述渲染单元用于在所述回收cell的类型为Native类型时,所述Native端对所述回收cell进行渲染。
11.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用并执行所述存储器中的程序指令,以实现权利要求1~5任一项所述的列表页数据显示方法。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有计算机程序,当列表页数据显示装置的至少一个处理器执行所述计算机程序时,列表页数据显示装置执行权利要求1~5任一项所述的列表页数据显示方法。

说明书全文

一种列表页数据显示方法以及列表页数据显示装置

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种列表页数据显示方法以及列表页数据显示装置。

背景技术

[0002] 列表页是一种数据展现形式,列表页一般包含大量展示数据的组件(Cell)。一次性创建大量的Cell会占用较多内存。在列表页发生滚动时,不断创建新的Cell,可能会影响到列表页滚动流畅度。
[0003] 相关技术提供了一种数据列表展示组件(FlatList)。Flatlist会优先渲染屏幕内可见区域的Cell。对于位于屏幕可见区域外的Cell,会先创建一些空白元素进行填充。在列表页发生滚动时,可以动态计算屏幕的可见区域。位于屏幕的可见区域内的Cell渲染优先级最高;离屏幕的可见区域越远的Cell渲染优先级越低。
[0004] 但是随着列表页的滚动,所创建的空白元素进入屏幕的可见区域内时,还是会创建新的Cell,进而导致需要占用较多内存。

发明内容

[0005] 本发明提供了一种列表页数据显示方法以及列表页数据显示装置,以解决相关技术中,随着列表页的滚动,所创建的空白元素进入屏幕的可见区域内时,还是会创建新的Cell,进而导致需要占用较多内存的问题。
[0006] 第一方面,本发明提供了一种列表页数据显示方法,该方法包括:
[0007] Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;
[0008] 利用所述已渲染Cell显示所述Cell对应的第一列表页数据;
[0009] 在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;
[0010] 确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;
[0011] 如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。
[0012] 进一步的,所述利用所述回收Cell显示所述第二列表页数据,包括:
[0013] 判断所述第二列表页数据与所述第一列表页数据是否相同;
[0014] 在所述第二列表页数据与所述第一列表页数据相同的情况下,利用所述回收cell显示所述第二列表页数据;
[0015] 在所述第二列表页数据与所述第一列表页数据不相同的情况下,对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据。
[0016] 进一步的,所述对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据,包括:
[0017] 获取所述回收cell的类型;
[0018] 根据获取到的所述回收cell的类型,对所述回收cell进行渲染;
[0019] 利用经过渲染的回收cell显示所述第二列表页数据。
[0020] 进一步的,所述根据获取到的所述回收cell的类型,对所述回收cell进行渲染,包括:
[0021] 在所述回收cell的类型为Javascript类型时,所述Native端向Javascript端发送渲染请求,以使所述Javascript端根据所述渲染请求组织所述回收cell的目标样式;
[0022] 所述Native端根据所述Javascript端发送的目标样式对所述回收cell进行渲染。
[0023] 进一步的,所述根据获取到的所述回收cell的类型,对所述回收cell进行渲染,包括:
[0024] 在所述回收cell的类型为Native类型时,所述Native端对所述回收cell进行渲染。
[0025] 第二方面,本发明还提供了一种列表页数据显示装置,包括:
[0026] 渲染模,用于Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;
[0027] 第一显示模块,用于利用所述已渲染Cell显示所述Cell对应的第一列表页数据;
[0028] 缓存模块,用于在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;
[0029] 确定模块,用于确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;
[0030] 第二显示模块,用于如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。
[0031] 进一步的,所述第二显示模块包括:
[0032] 判断子模块,用于判断所述第二列表页数据与所述第一列表页数据是否相同;
[0033] 第一显示子模块,用于在所述第二列表页数据与所述第一列表页数据相同的情况下,利用所述回收cell显示所述第二列表页数据;
[0034] 第二显示子模块,用于在所述第二列表页数据与所述第一列表页数据不相同的情况下,对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据。
[0035] 进一步的,所述第二显示子模块包括:
[0036] 获取单元,用于获取所述回收cell的类型;
[0037] 渲染单元,用于根据获取到的所述回收cell的类型,对所述回收cell进行渲染;
[0038] 显示单元,用于利用经过渲染的回收cell显示所述第二列表页数据。
[0039] 进一步的,所述渲染单元包括:
[0040] 发送子单元,用于在所述回收cell的类型为Javascript类型时,所述Native端向Javascript端发送渲染请求,以使所述Javascript端根据所述渲染请求组织所述回收cell的目标样式;
[0041] 渲染子单元,用于所述Native端根据所述Javascript端发送的目标样式对所述回收cell进行渲染。
[0042] 进一步的,所述渲染单元用于在所述回收cell的类型为Native类型时,所述Native端对所述回收cell进行渲染。
[0043] 第三方面,本发明还提供了一种电子设备,包括:
[0044] 存储器,用于存储程序指令;
[0045] 处理器,用于调用并执行所述存储器中的程序指令,以实现上述列表页数据显示方法。
[0046] 第四方面,本发明还提供了一种可读存储介质,包括:所述可读存储介质中存储有计算机程序,当列表页数据显示装置的至少一个处理器执行所述计算机程序时,列表页数据显示装置执行第一方面所述的列表页数据显示方法。
[0047] 由以上技术方案可知,本发明实施例提供的一种列表页数据显示方法以及列表页数据显示装置,Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;利用所述已渲染Cell显示所述Cell对应的第一列表页数据;在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。这样,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据,无需创建新的Cell,节省内存。附图说明
[0048] 为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0049] 图1为本发明提供的一种列表页数据显示方法的流程图
[0050] 图2为本发明提供的另一种列表页数据显示方法的流程图;
[0051] 图3为本发明提供的另一种列表页数据显示方法的流程图;
[0052] 图4为本发明提供的一种列表页数据显示的过程示意图;
[0053] 图5为本发明提供的一种列表页数据显示装置的结构图;
[0054] 图6为本发明提供的另一种列表页数据显示装置的结构图;
[0055] 图7为本发明提供的另一种列表页数据显示装置的结构图;
[0056] 图8为本发明提供的另一种列表页数据显示装置的结构图;
[0057] 图9为本发明提供的电子设备的硬件结构示意图。

具体实施方式

[0058] 下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本发明相一致的所有实施方式。仅是与权利要求书中所详述的、本发明的一些方面相一致的系统和方法的示例。
[0059] 参见图1,图1是本发明提供的一种列表页数据显示方法的流程图。如图1所示,包括以下步骤:
[0060] 步骤101、Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell。
[0061] 在步骤101中,JavaScript端可以提供数据源和要展示的Cell模版。Cell模版可以是JavaScript模版,也可以是Native模版。JavaScript端可以将数据发送给Native端。Native端可以对位于屏幕的可见区域的Cell进行渲染,得到已渲染Cell。
[0062] 步骤102、利用所述已渲染Cell显示所述Cell对应的第一列表页数据。
[0063] 在步骤102中,可以利用已渲染Cell显示上述Cell对应的第一列表页数据。
[0064] 步骤103、在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell。
[0065] 在步骤103中,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区。其中,回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell。
[0066] 步骤104、确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。
[0067] 在步骤104中,在列表页滚动过程中,可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。
[0068] 步骤105、如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。
[0069] 在步骤105中,如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。
[0070] 需要说明的是,相关技术中,随着列表页的滚动,所创建的空白元素进入屏幕的可见区域内时,还是会创建新的Cell,进而导致需要占用较多内存;而在本发明中,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。即在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据。采用Cell回收重用机制,无需创建新的Cell,节省内存。
[0071] 且相关技术中,FlatList的大量处理逻辑都是在JavaScript端实现的。JavaScript是单线程,容易出现性能瓶颈。例如用户快速滑动屏幕时,如果在0.016s(一)的时间内,没有完成当前屏幕Cell的渲染,就会出现白屏。而在本发明中,大量计算在Native端实现,实现了JavaScript驱动到Native驱动的转变,大幅减少了JavaScript线程的负荷。
[0072] 相关技术中,FlatList的实现机制导致JavaScript端和Native端交互比较多,线程切换频繁,严重影响性能。而在本发明中,减少了JavaScript端和Native端的交互,避免了不必要的线程切换和数据交互,降低了资源消耗,提高了性能。
[0073] 由以上技术方案可知,本发明实施例提供的一种列表页数据显示方法,Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;利用所述已渲染Cell显示所述Cell对应的第一列表页数据;在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。这样,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据,无需创建新的Cell,节省内存。
[0074] 参见图2,图2是本发明提供的另一种列表页数据显示方法的流程图。本实施例与前一个实施例的主要区别在于可以判断第二列表页数据与第一列表页数据是否相同,进而可以根据判断结果确定是否需要对回收cell进行渲染。如图2所示,包括以下步骤:
[0075] 步骤201、Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell。
[0076] 在步骤201中,JavaScript端可以提供数据源和要展示的Cell模版。Cell模版可以是JavaScript模版,也可以是Native模版。JavaScript端可以将数据发送给Native端。Native端可以对位于屏幕的可见区域的Cell进行渲染,得到已渲染Cell。
[0077] 步骤202、利用所述已渲染Cell显示所述Cell对应的第一列表页数据。
[0078] 在步骤202中,可以利用已渲染Cell显示上述Cell对应的第一列表页数据。
[0079] 步骤203、在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell。
[0080] 在步骤203中,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区。其中,回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell。
[0081] 步骤204、确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。
[0082] 在步骤204中,在列表页滚动过程中,可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。
[0083] 步骤205、如果所述回收区中保存有回收Cell,判断所述第二列表页数据与所述第一列表页数据是否相同。
[0084] 在步骤205中,如果回收区中保存有回收Cell,可以判断第二列表页数据与第一列表页数据是否相同,即可以判断数据状态是否发生变化。
[0085] 步骤206、在所述第二列表页数据与所述第一列表页数据相同的情况下,利用所述回收cell显示所述第二列表页数据。
[0086] 在步骤206中,在第二列表页数据与第一列表页数据相同的情况下,也即在数据状态没有发生变化的情况下,可以直接利用回收cell显示第二列表页数据。
[0087] 步骤207、在所述第二列表页数据与所述第一列表页数据不相同的情况下,对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据。
[0088] 在步骤207中,在第二列表页数据与第一列表页数据不相同的情况下,也即在数据状态发生变化的情况下,可以对回收cell进行渲染,并利用经过渲染的回收cell显示第二列表页数据。
[0089] 相关技术中,随着列表页的滚动,所创建的空白元素进入屏幕的可见区域内时,还是会创建新的Cell,进而导致需要占用较多内存;而在本发明中,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。即在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据。采用Cell回收重用机制,无需创建新的Cell,节省内存。
[0090] 可选的,所述对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据,包括:
[0091] 获取所述回收cell的类型;
[0092] 根据获取到的所述回收cell的类型,对所述回收cell进行渲染;
[0093] 利用经过渲染的回收cell显示所述第二列表页数据。
[0094] 进一步的,在对回收cell进行渲染时,可以获取回收cell的类型,进而可以根据获取到的回收cell的类型,对回收cell进行渲染。然后,可以利用经过渲染的回收cell显示第二列表页数据。相关技术中,FlatList的大量处理逻辑都是在JavaScript端实现的。JavaScript是单线程,容易出现性能瓶颈。例如用户快速滑动屏幕时,如果在0.016s(一帧)的时间内,没有完成当前屏幕Cell的渲染,就会出现白屏。而在本发明中,大量计算在Native端实现,实现了JavaScript驱动到Native驱动的转变,大幅减少了JavaScript线程的负荷。
[0095] 可选的,所述根据获取到的所述回收cell的类型,对所述回收cell进行渲染,包括:
[0096] 在所述回收cell的类型为Javascript类型时,所述Native端向Javascript端发送渲染请求,以使所述Javascript端根据所述渲染请求组织所述回收cell的目标样式;
[0097] 所述Native端根据所述Javascript端发送的目标样式对所述回收cell进行渲染。
[0098] 在回收cell的类型为Javascript类型时,Native端可以向Javascript端发送渲染请求,以使Javascript端根据渲染请求组织回收cell的目标样式。然后,Javascript端可以将组织好的回收cell的目标样式发送给Native端。接下来,Native端可以根据Javascript端发送的目标样式对回收cell进行渲染。
[0099] 可选的,所述根据获取到的所述回收cell的类型,对所述回收cell进行渲染,包括:
[0100] 在所述回收cell的类型为Native类型时,所述Native端对所述回收cell进行渲染。
[0101] 在回收cell的类型为Native类型时,Native端可以直接对回收cell进行渲染,不需要再和Javascript端进行交互。相关技术中,FlatList的实现机制导致JavaScript端和Native端交互比较多,线程切换频繁,严重影响性能。而在本发明中,减少了JavaScript端和Native端的交互,避免了不必要的线程切换和数据交互,降低了资源消耗,提高了性能。
[0102] 由以上技术方案可知,本发明实施例提供的一种列表页数据显示方法,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,可以判断第二列表页数据与第一列表页数据是否相同,进而可以根据判断结果确定是否需要对回收cell进行渲染。在第二列表页数据与第一列表页数据相同的情况下,也即在数据状态没有发生变化的情况下,可以直接利用回收cell显示第二列表页数据;在第二列表页数据与第一列表页数据不相同的情况下,也即在数据状态发生变化的情况下,可以对回收cell进行渲染,并利用经过渲染的回收cell显示第二列表页数据。在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据,无需创建新的Cell,节省内存。
[0103] 参见图3,图3是本发明提供的另一种列表页数据显示方法的流程图。如图3所示,包括以下步骤:
[0104] 步骤301、JavaScript端可以提供数据源和要展示的Cell模版。Cell模版可以是JavaScript模版,也可以是Native模版。JavaScript端可以将数据发送给Native端。Native端可以对位于屏幕的可见区域的Cell进行渲染,得到已渲染Cell。
[0105] 步骤302、利用已渲染Cell显示上述Cell对应的第一列表页数据。
[0106] 步骤303、在发生列表页滚动时,Native端可以将回收Cell缓存至回收区。其中,回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell。
[0107] 步骤304、在列表页滚动过程中,需要展示新Cell时,优先从回收区获取已缓存的回收Cell。
[0108] 步骤305、从回收区获取回收Cell后,判断数据状态是否发生变化。
[0109] 步骤306、如果数据状态没有发生变化,可以直接利用回收cell显示新的列表页数据。
[0110] 步骤307、如果数据状态发生了变化,对回收Cell重新进行渲染。
[0111] 步骤308、在回收cell的类型为Javascript类型时,Native端可以向Javascript端发送渲染请求,以使Javascript端根据渲染请求组织回收cell的目标样式。然后,Javascript端可以将组织好的回收cell的目标样式发送给Native端。接下来,Native端可以根据Javascript端发送的目标样式对回收cell进行渲染。
[0112] 步骤309、在回收cell的类型为Native类型时,Native端可以直接对回收cell进行渲染,不需要再和Javascript端进行交互。
[0113] 步骤3010、利用经过渲染的回收cell显示新的列表页数据。如图4所示,为一种列表页数据显示的过程示意图。
[0114] 在本发明中,在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。即在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据。采用Cell回收重用机制,无需创建新的Cell,节省内存。大量计算在Native端实现,实现了JavaScript驱动到Native驱动的转变,大幅减少了JavaScript线程的负荷。减少了JavaScript端和Native端的交互,避免了不必要的线程切换和数据交互,降低了资源消耗,提高了性能。在渲染Cell时,采用了异步渲染技术。在列表页快速滚动时,新的渲染任务开始前,可以取消上一次未开始的渲染任务或者终止上一次未完成的渲染任务。减少不必要的渲染工作,提高列表页的滚动流畅度。
[0115] 参见图5,图5是本发明提供的一种列表页数据显示装置的结构图。如图5所示,列表页数据显示装置500包括渲染模块501、第一显示模块502、缓存模块503、确定模块504和第二显示模块505,其中:
[0116] 渲染模块501,用于Native端对位于屏幕的可见区域的组件Cell进行渲染,得到已渲染Cell;第一显示模块502,用于利用所述已渲染Cell显示所述Cell对应的第一列表页数据;缓存模块503,用于在发生列表页滚动时,所述Native端将回收Cell缓存至回收区,所述回收Cell是指滚动至屏幕的可见区域之外的已渲染Cell;确定模块504,用于确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据;第二显示模块505,用于如果所述回收区中保存有回收Cell,则利用所述回收Cell显示所述第二列表页数据。
[0117] 可选的,如图6所示,所述第二显示模块505包括:
[0118] 判断子模块5051,用于判断所述第二列表页数据与所述第一列表页数据是否相同;第一显示子模块5052,用于在所述第二列表页数据与所述第一列表页数据相同的情况下,利用所述回收cell显示所述第二列表页数据;第二显示子模块5053,用于在所述第二列表页数据与所述第一列表页数据不相同的情况下,对所述回收cell进行渲染,并利用经过渲染的回收cell显示所述第二列表页数据。
[0119] 可选的,如图7所示,所述第二显示子模块5053包括:
[0120] 获取单元50531,用于获取所述回收cell的类型;渲染单元50532,用于根据获取到的所述回收cell的类型,对所述回收cell进行渲染;显示单元50533,用于利用经过渲染的回收cell显示所述第二列表页数据。
[0121] 可选的,如图8所示,所述渲染单元50532包括:
[0122] 发送子单元505321,用于在所述回收cell的类型为Javascript类型时,所述Native端向Javascript端发送渲染请求,以使所述Javascript端根据所述渲染请求组织所述回收cell的目标样式;渲染子单元505322,用于所述Native端根据所述Javascript端发送的目标样式对所述回收cell进行渲染。
[0123] 可选的,所述渲染单元50532用于在所述回收cell的类型为Native类型时,所述Native端对所述回收cell进行渲染。
[0124] 列表页数据显示装置500能够实现图1-图3的方法实施例中列表页数据显示装置实现的各个过程,为避免重复,这里不再赘述。且列表页数据显示装置500可以实现在发生列表页滚动时,Native端可以将回收Cell缓存至回收区,进而可以确定发生列表页滚动后待显示于屏幕的可见区域的第二列表页数据。如果回收区中保存有回收Cell,则可以利用回收Cell显示第二列表页数据。在发生列表页滚动,且需要显示新的列表页数据时,可以利用回收区中的回收Cell显示新的列表页数据,无需创建新的Cell,节省内存。
[0125] 图9为本发明实施例提供的电子设备的硬件结构示意图。如图9所示,该电子设备,包括:
[0126] 存储器901,用于存储程序指令;
[0127] 处理器902,用于调用并执行所述存储器中的程序指令,以实现上述实施例中所述列表页数据显示方法。具体可以参见前述实施例中的相关描述。
[0128] 本实施例中,处理器902和存储器901可通过总线或其他方式连接。处理器可以是通用处理器,例如中央处理器、数字信号处理器、专用集成电路,或者被配置成实施本发明实施例的一个或多个集成电路。存储器可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘。
[0129] 本发明实施例还提供了一种可读存储介质,包括:所述可读存储介质中存储有计算机程序,当列表页数据显示装置的至少一个处理器执行所述计算机程序时,列表页数据显示装置执行上述实施例中所述的列表页数据显示方法。
[0130] 所述的可读存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
[0131] 本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0132] 本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于列表页数据显示装置、电子设备及可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
[0133] 以上所述的本发明实施方式并不构成对本发明保护范围的限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈