CN109828802B - 列表视图显示方法、装置及可读介质 - Google Patents
列表视图显示方法、装置及可读介质 Download PDFInfo
- Publication number
- CN109828802B CN109828802B CN201711179801.9A CN201711179801A CN109828802B CN 109828802 B CN109828802 B CN 109828802B CN 201711179801 A CN201711179801 A CN 201711179801A CN 109828802 B CN109828802 B CN 109828802B
- Authority
- CN
- China
- Prior art keywords
- list
- message
- entry
- target
- view
- 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
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种列表视图显示方法、装置及可读介质,涉及人机交互领域。该方法包括:显示用户界面;接收在列表视图上的滑动信号;根据滑动信号在节点树中确定需要移入列表视图中的目标列表消息;当存在可复用的目标列表条目时,复用目标列表条目将目标列表消息移入列表视图中进行显示。通过对历史创建且已移出列表视图的列表条目进行查询,当存在可复用的目标列表条目时,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为该目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况。
Description
技术领域
本申请实施例涉及人机交互领域,特别涉及一种列表视图显示方法、装置及可读介质。
背景技术
RN(React Native)是一种开源移动应用开发平台。在基于RN进行开发的移动应用程序中,列表视图(ListView)是一种最常用的视图类型。
列表视图包括从上往下排列的多个列表条目(ListItem),每个列表条目具有相同的宽度。用户可以在列表视图上进行上下滑动。当用户向上滑动时,终端将位于最上面的n个列表条目移出列表视图,将位于最下面的尚未显示的n个列表条目移入列表视图。对于将要移入的n个列表条目,终端需要在内存中创建该n个列表条目。
随着滑动操作的持续,终端需要创建的列表条目也会越来越多,这些列表条目所占用的内存空间也越来越多,严重时会导致内存泄露。因此,相关技术中的列表视图显示方法的滑动效率较低,而且易导致用户界面产生卡顿。
发明内容
本申请实施例提供了一种列表视图显示方法、装置及可读介质,可以解决列表视图显示方法的滑动效率较低,而且易导致用户界面产生卡顿的问题。所述技术方案如下:
第一方面,提供了一种列表视图显示方法,所述方法包括:
显示用户界面,所述用户界面包括所述列表视图中的n个列表条目,每个所述列表条目用来显示对应的列表消息,n为正整数;
接收在所述列表视图上的滑动信号;
根据所述滑动信号在节点树中确定需要移入所述列表视图中的目标列表消息,所述节点树中包括与所述列表视图对应的列表节点,每个列表节点与所述列表视图上需要显示的一条列表消息相对应;
当存在可复用的目标列表条目时,复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示,所述目标列表条目是历史创建且已移出所述列表视图的列表条目。
第二方面,提供了一种列表视图显示装置,所述装置包括:
显示模块,用于显示用户界面,所述用户界面包括所述列表视图中的n个列表条目,每个所述列表条目用来显示对应的列表消息,n为正整数;
接收模块,用于接收在所述列表视图上的滑动信号;
确定模块,用于根据所述滑动信号在节点树中确定需要移入所述列表视图中的目标列表消息,所述节点树中包括与所述列表视图对应的列表节点,每个列表节点与所述列表视图上需要显示的一条列表消息相对应;
复用模块,用于当存在可复用的目标列表条目时,复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示,所述目标列表条目是历史创建且已移出所述列表视图的列表条目。
第三方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例的第一方面及其可选的实施例任一所述的列表视图显示方法。
第四方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例的第一方面及其可选的实施例任一所述的列表视图显示方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过利用节点树存储列表视图中未显示的列表消息,当根据滑动信号需要将目标列表消息移入列表视图中进行显示时,在历史创建且已移出列表视图的列表条目中,确定出可复用的目标列表条目,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为即将移入列表视图的目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性的实施例提供的实施环境的框图;
图2是本申请一个示例性的实施例提供的用户界面示意图;
图3是本申请一个示例性的实施例提供的列表视图显示方法的流程图;
图4A是本申请另一个示例性的实施例提供的列表视图显示方法的流程图;
图4B是本申请一个示例性的实施例提供的节点树的结构示意图;
图5是本申请另一个示例性的实施例提供的列表视图显示方法的流程图;
图6是本申请另一个示例性的实施例提供的列表视图显示方法的流程图;
图7是本申请一个示例性的实施例提供的条目结构信息的结构框图;
图8是本申请另一个示例性的实施例提供的列表视图显示方法的流程图;
图9是本申请另一个示例性的实施例提供的列表视图显示方法的流程图;
图10是本申请另一个示例性的实施例提供的用户界面的示意图;
图11是本申请另一个实施例提供的节点树的结构示意图;
图12是本申请一个示例性的实施例提供的列表视图显示装置的结构框图;
图13是本申请一个示例性的实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例涉及的若干名词进行介绍。
列表视图:列表视图是显示在用户界面中的一种常见的视图类型,列表视图中包括从上至下排列的多个列表条目,用户可以在该列表视图上进行上下滑动,当用户向上滑动时,终端将位于最上面的n个列表条目依次移出列表视图,将位于最下面的尚未显示的n个列表条目依次移入列表视图。
列表条目:列表条目为在列表视图中用于显示列表消息的载体,即列表条目给列表消息提供显示框架,列表消息给列表条目提供显示内容,可选地,该列表条目中包括有至少一个控件。
列表消息:列表消息是指服务器发送的需要显示在用户界面的列表视图中的显示内容,通常,一条列表消息需要通过一个列表条目来进行显示。
图1是本申请一个示例性实施例提供的实施环境的框图。该实施环境包括:服务器120和终端140。
服务器120是为终端140提供网络服务支持的服务器。可选地,服务器120中包括后台程序和前端程序。后台程序可以用于进行有关数据库、身份验证等处理,前端程序可以用于UI(User Interface,用户界面)的显示支持、人机交互等处理。可选地,前端程序可采用React Native架构进行开发得到。
服务器120通过有线网络或无线网络与终端140相连。服务器120可以发送列表消息给终端140,以便终端140在应用程序的用户界面上显示列表视图。
终端140上运行有应用程序,该应用程序的用户界面中显示有列表视图。该应用程序可以是浏览器,也可以是新闻应用程序、聊天应用程序、微博应用程序、购物应用程序等等,本申请对此不加以限定。
以应用程序是浏览器为例,浏览器的主页上可以采用列表视图显示若干条新闻信息,每个列表条目用于显示一条新闻信息。根据服务器120向终端140发送的列表消息的不同,浏览器的主页上显示的每个列表条目的新闻信息也不同。
示意性的,如图2所示,在用户界面21中包括有列表视图22,该列表视图22中包括从上至下排列的四个列表条目,分别为列表条目23、列表条目24、列表条目25以及列表条目26,其中,列表条目23中显示有列表消息A,列表条目24中显示有列表消息B,列表条目25中显示有列表消息C以及列表条目26中显示有列表消息D,列表条目26中,还包括有控件27。可选地,上述列表消息A、列表消息B、列表消息C以及列表消息D中的每个列表消息可以以至少一个控件的形式显示在一个列表条目中,该至少一个控件包括但不限于:文本框、按钮、下拉式菜单、表格控件、图像处理控件、文档处理控件等。
相关技术中,前端程序向终端发送的列表消息,需要终端马上执行该列表消息,将该列表消息对应的列表条目显示在用户界面中。其中,终端对列表消息的执行过程包括:列表条目的创建、列表条目的属性信息的刷新、列表条目内各个控件的排版等。示意性的,如图3所示,前端程序将列表消息发送至终端后,终端直接对接收到的列表消息依次进行列表条目的创建、列表条目的属性信息的刷新、列表条目内各个控件的排版等操作,以将该列表消息通过列表条目显示在列表视图中。
但是,前端程序向终端发送的列表消息可能会存在很多条,比如上百条或上千条,如果终端为每个列表消息都创建对应的列表条目,则这些列表条目会占用终端的很多内存,甚至导致内存泄露。从外在表现上看,应用程序对滑动操作的响应会出现卡顿,甚至出现应用程序的闪退。
在本申请提供的技术方案中,希望通过复用历史创建且已移出列表视图的列表条目,来对新移入列表视图的目标列表消息进行显示。为此,本申请提供的技术方案中在终端的应用程序中增加设置了节点树,如图4A所示,在前端程序将用户界面相关的消息(包括列表消息)发送至终端后,终端中的应用程序创建或者更新节点树,采用该节点树缓存与用户界面相关的消息。该节点树上每个节点对应一条与用户界面相关的消息。示意性的,当前端程序采用ReactNative架构时,应用程序可以通过拦截UIViewOperationQueue队列将前端程序发送的有关用户界面的消息进行拦截。
可选地,在创建节点树之后,如果应用程序再次接收到前端程序发送的与用户界面相关的消息,则应用程序还会对该节点树进行更新。如果接收到了用户在用户界面上的滑动信号,终端根据节点树确定需要移入列表视图的目标列表消息,并对目标列表消息依次进行列表条目的创建或复用、列表条目的属性信息的刷新、列表条目内各个控件的排版等操作,并将该列表消息通过列表条目显示在用户界面中。
下面先对本申请提供的节点树,以及节点树中的节点进行介绍:
节点树:节点树用于根据用户界面中的界面元素表示该用户界面的DOM(DocumentObject Model,文档对象模型)结构。可选地,该节点树中包括有根节点以及该根节点的子节点,根节点用于指示该用户界面的底层架构,根节点的子节点中包括列表视图对应的子节点。
列表节点:列表节点为节点树中,与列表视图中各个列表条目对应的节点。列表节点是列表视图所在节点的子节点,每个列表节点与一个列表消息对应,可选地,该节点树中的列表节点上存储的是与列表消息对应的虚拟列表条目。
虚拟列表条目:该虚拟列表条目为存储在列表节点上的与列表消息对应的条目结构信息。终端不会为该虚拟列表条目创建实际的视图,故该虚拟列表条目所占内存的大小远小于实际的列表条目所占内存的大小。
示意性的,图4B是一个示例性的实施例提供的节点树的结构示意图,如图4B所示,在该节点树的根节点位置存储有根视图,根视图包括四个子节点,该四个子节点上分别存储有列表视图、其它视图1、其它视图2以及其它视图3,其中,其它视图1、其它视图2以及其它视图3分别可以是滚动视图、树形视图或者HTML(HyperText Markup Language,超文本标记语言)视图中的任意一种。列表视图作为父节点还包括五个子节点,该五个子节点皆为列表节点,该五个列表节点上分别存储有虚拟列表条目1、虚拟列表条目2、虚拟列表条目3、虚拟列表条目4以及虚拟列表条目5,上述5个虚拟列表条目中每个虚拟列表条目对应一个列表消息,示意性的,结合图2,虚拟列表条目1对应列表消息A,虚拟列表条目2对应列表消息B,虚拟列表条目3对应列表消息C,虚拟列表条目4对应列表消息D,虚拟列表条目5对应未显示在列表视图中的列表消息E。
图5是本申请一个示例性的实施例提供的列表视图显示方法的流程图。本实施例以该列表视图显示方法应用在终端中举例说明,该终端可以是智能手机、平板电脑或台式电脑。如图5所示,该列表视图显示方法包括:
步骤501,终端显示用户界面。
该用户界面包括:列表视图中的n个列表条目,每个列表条目用来显示对应的列表消息,n为正整数。可选地,该用户界面上还可以包括非列表视图的其它视图,本实施例对此不加以限定。
示意性的,以该列表视图中包括4个列表条目为例,请参考图2,该用户界面21中包括四个列表条目,分别为列表条目23、列表条目24、列表条目25以及列表条目26,其中,列表条目23中显示有列表消息A,列表条目24中显示有列表消息B,列表条目25中显示有列表消息C以及列表条目26中显示有列表消息D。
步骤502,终端接收在列表视图上的滑动信号。
可选地,该滑动信号为沿列表视图的底部向顶部滑动的滑动信号,简称向上滑动信号;该滑动信号也可以是沿列表视图的顶部向底部滑动的滑动信号,简称向下滑动信号。
步骤503,终端根据滑动信号在节点树中确定需要移入列表视图中的目标列表消息。
可选地,该目标列表消息为根据滑动信号确定的,待移入显示在列表视图中的列表消息。该节点树中包括与列表视图对应的多个列表节点,每个列表节点与列表视图上需要显示的一条列表消息相对应。
可选地,根据滑动信号以及节点树确定下一条待显示的列表消息。示意性的,以该列表视图中包括至少一个已显示的列表消息以及至少一个未显示的列表消息为例,该节点树中的所有列表消息进行遍历,当对已显示的列表消息遍历结束后,确定遍历得到的第一个未显示的列表消息,并将其确定为目标列表消息。
步骤504,当存在可复用的目标列表条目时,复用目标列表条目将目标列表消息移入列表视图中进行显示。
该目标列表条目是历史创建且已移出列表视图的列表条目。
终端在历史创建且已移出列表视图的列表条目中,检测是否存在可复用的目标列表条目。当存在可复用的目标列表条目时,复用目标列表条目将目标列表消息移入列表视图中进行显示;当不包括可复用的列表条目时,终端创建该目标列表消息对应的列表条目,并通过创建得到的列表条目将目标列表消息移入列表视图中进行显示。
综上所述,本实施例提供的列表视图显示方法,通过对历史创建且已移出列表视图的列表条目进行查询,当存在可复用的目标列表条目时,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为即将移入列表视图的目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况。
图6是本申请另一个示例性的实施例提供的列表视图显示方法的流程图。如图6所示,本实施例以该列表视图显示方法应用在终端中进行举例说明。该列表视图显示方法包括:
步骤601,终端显示用户界面。
该用户界面包括列表视图中的n个列表条目,每个列表条目用来显示对应的列表消息,n为正整数。可选地,该用户界面上还可以包括非列表视图的其它视图,本实施例对此不加以限定。
示意性的,以该列表视图中包括4个列表条目为例,请参考图2,该用户界面21中包括四个列表条目,分别为列表条目23、列表条目24、列表条目25以及列表条目26,其中,列表条目23中显示有列表消息A,列表条目24中显示有列表消息B,列表条目25中显示有列表消息C以及列表条目26中显示有列表消息D。每个列表条目可以包括一个或多个控件,该一个或多个控件可以是文本框、按钮、下拉式菜单、表格控件、图像处理控件、文档处理控件等。
步骤602,终端接收在列表视图上的滑动信号。
可选地,该滑动信号为沿列表视图底部向列表视图顶部滑动的滑动信号,简称向上滑动信号;该滑动信号也可以是沿列表视图顶部向列表视图底部滑动的滑动信号,简称向下滑动信号。
步骤603,终端根据滑动信号在节点树中确定需要移入列表视图中的目标列表消息。
可选地,终端根据滑动信号确定需要移出列表视图中的列表条目,并将这些列表条目缓存在缓存池中。
可选地,终端还根据滑动信号以及节点树确定出下一条待显示的目标列表消息,示意性的,以该列表视图中包括至少一个已显示的列表消息以及至少一个未显示的列表消息为例,终端可以对该节点树中的所有列表消息进行遍历,当对已显示的列表消息遍历结束后,确定遍历得到的第一个未显示的列表消息,并将其确定为目标列表消息。
步骤604,终端确定目标列表消息对应的条目类型。
可选地,该条目类型为预先为目标列表消息配置的类型。每个列表消息对应一个条目类型。
可选地,终端根据节点树中的列表节点中缓存的信息,确定目标列表消息对应的条目类型。
步骤605,在历史创建且已移出列表视图的列表条目中,终端将具有该条目类型的列表条目确定为可复用的目标列表条目。
可选地,终端中包括有缓存池,该缓存池中存储有历史创建且已移出列表视图的列表条目,终端可在该缓存池中查找是否存在与该目标列表消息的条目类型相同的列表条目,并将该列表条目确定为可复用的目标列表条目。
可选地,存在一种情况,当在该终端中存在有不止一个具有上述条目类型的列表条目时,终端确定目标列表条目的方式包括但不限于:
一,将获取得到的具有上述条目类型的第一个列表条目作为目标列表条目;
二、获取所有具有上述条目类型的列表条目,随机确定一个列表条目作为目标列表条目;
三,获取所有具有上述条目类型的列表条目,将其中条目结构信息与目标列表消息对应的条目结构信息最相近的列表条目作为目标列表条目。其中,该条目结构信息用于表示列表条目的结构信息,该条目结构信息中包括但不限于:列表条目中需要创建的控件、列表条目中需要显示的列表消息、列表条目中需要设置的属性信息、列表条目中需要设置的排版信息,以及列表条目中需要设置的额外信息(Extra)中的至少一种。
步骤606,终端确定目标列表消息对应的第二标识。
可选地,由于目标列表条目是历史创建且被显示过的列表条目,目标列表条目已经包括有第一标识,该第一标识为最近一次使用该目标列表条目在列表视图中进行显示的列表消息X对应的唯一标识。终端可以在列表消息X被点击时,根据该第一标识向服务器获取列表消息X对应的详细信息。
可选地,目标列表消息对应有一个第二标识,该第二标识用于唯一标识该目标列表消息。终端可以在目标列表消息被点击时,根据该第二标识向服务器获取目标列表消息对应的详细信息。
步骤607,终端将目标列表条目中的第一标识替换为第二标识。
在复用目标列表条目时,终端需要将目标列表条目中的第一标识替换为该目标列表消息对应的第二标识,以便复用后的目标列表条目被点击时,能够进行正确响应。比如,当复用后的目标列表条目被点击时,能够正确跳转至与目标列表消息对应的用户界面。
步骤608,终端确定目标列表条目对应的第一条目结构信息。
可选地,该第一条目结构信息包括:该目标列表条目中已创建的控件、已显示的列表消息、已设置的属性信息、已设置的排版信息以及已设置的额外信息中的至少一种。
步骤609,终端确定目标列表消息对应的第二条目结构信息。
可选地,该第二条目结构信息包括:显示目标列表消息所需要创建的控件、显示目标列表消息所需要设置的属性信息、显示目标列表消息所需要设置的排版信息和显示目标列表消息所需要设置的额外信息中的至少一种。该第二条目结构信息可以缓存在节点树中与目标列表消息对应的列表节点中。
步骤610,当第一条目结构信息和第二条目结构信息存在差异时,终端根据差异将目标列表条目中的第一条目结构信息修改为第二条目结构信息。
示意性的,请参考图7,以第一条目结构信息和第二条目结构信息在创建的控件上存在差异为例进行说明,如图7所示,第一条目结构信息中包括如下内容:目标列表条目71中包括三个控件,分别为文本框711、文本框712以及按钮713,对应的在节点树中的部分为节点结构72,在该节点结构中,文本框711、文本框712以及按钮713所在的节点为目标列表条目所在节点的子节点;第二条目结构信息中包括如下内容:目标列表消息所对应的列表条目73中包括三个控件,分别为文本框731,文本框732以及图片733,对应的在节点树中的部分为节点结构74,在该节点结构中,文本框731、文本框732以及图片733所在的节点为目标列表消息对应的列表条目所在节点的子节点,将节点结构72与节点结构74进行比较,得到该第一条目结构信息和第二条目结构信息至少存在控件差异,该控件差异为目标列表条目71中的按钮713,和目标列表消息对应的列表条目73中的图片733之间的差异,所以将目标列表条目71中的按钮713修改为图片733。
值得注意的是,在上述修改过程中,终端可以根据差异部分进行增量式修改,即按钮713进行修改,也可以将文本框711、文本框712及按钮713按照全量式修改全部替换为文本框731、文本框732及文本框733,本申请实施例对此不加以限定。
步骤611,终端复用修改后的目标列表条目将目标列表消息移入列表视图中进行显示。
示意性的,在一个具体的实施例中,如图8所示,树状结构图81为节点树中列表视图所对应的部分,根据该树状结构图81显示的列表视图如列表视图82所示,其中,列表消息A至列表消息C为已显示且已移出列表视图的列表消息,列表消息D至列表消息G为正在列表视图中显示的列表消息,列表消息H为待移入列表视图进行显示的列表消息,每个已显示的列表消息对应一个列表条目,如:列表消息A对应列表条目A,列表消息B对应列表条目B,列表消息C对应列表条目C;其中,已移出列表视图的列表条目被存储至缓存池83中,示意性的,该缓存池中包括列表条目A、列表条目B以及列表条目C;根据滑动信号,终端确定列表条目H为待移入列表视图进行显示的列表消息,即目标列表消息,并根据该目标列表消息在缓存池83中查找可复用的列表条目,并查找得到列表条目B为可复用的列表条目,复用该列表条目B将列表消息H移入列表视图中进行显示。
综上所述,通过利用节点树存储列表视图中未显示的列表消息,当根据滑动信号需要将目标列表消息移入列表视图中进行显示时,在历史创建且已移出列表视图的列表条目中,确定出可复用的目标列表条目,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为即将移入列表视图的目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况;
由于在复用目标列表条目时,可能会面临两个问题:1、复用后的目标列表条目被点击时,没有跳转至目标列表消息对应的第一界面,而是可能会错误响应至复用前显示的列表消息X对应的第二界面;2、目标列表条目的条目结构与目标列表消息的条目结构存在差异,无法直接复用。
为了解决上述面临的两个问题中的第一个问题,本申请实施例中,终端将目标列表条目中的第一标识替换为第二标识,以确保复用后的目标列表条目被点击时,能够进行正确响应,如:当复用后的目标列表条目被点击时,能够正确跳转至与目标列表消息对应的用户界面;
为了解决上述面临的两个问题中的第二个问题,本申请实施例中,当第一条目结构信息和第二条目结构信息存在差异时,终端根据差异将目标列表条目中的第一条目结构信息修改为第二条目结构信息,以确保目标列表条目的条目结构与目标列表消息的条目结构一致。
上述实施例中,对列表视图的显示方法进行了详细的描述。下文中,主要对该节点树的创建以及更新的过程做进一步的描述。
图9是本申请另一个示例性的实施例提供的节点树的创建以及更新方法的流程图。该方法可以结合至上述方法实施例中。如图9所示,该方法包括:
步骤901,获取用户界面对应的第一批次的消息。
前端程序按照加载进度或显示进度,可以分多个批次来向终端发送有关用户界面的消息。
前端程序首先向终端发送用户界面对应的第一批次的消息。可选地,该第一批次的消息包括用于初次显示用户界面的各条消息。比如,背景视图的消息、前n条列表条目对应的列表消息。
步骤902,根据第一批次的消息创建用户界面对应的节点树。
该节点树中包括若干个节点,每个节点对应用户界面上的一个界面元素。当用户界面上包括列表视图,则该节点树上会存在至少一个与列表消息对应的列表节点。
示意性的,结合图4B所示的一个示意性的节点树的树状图,该节点树中包括有若干个节点,其中,列表视图的五个子节点,即为与列表消息对应的列表节点,该五个列表节点用于缓存列表消息对应的虚拟列表条目,即缓存了列表消息A对应的虚拟列表条目1,列表消息B对应的虚拟列表条目2,列表消息C对应的虚拟列表条目3,列表消息D对应的虚拟列表条目4,列表消息E对应的虚拟列表条目5。
步骤903,根据节点树显示用户界面。
可选地,前端程序在发送第一批次的消息后,还向终端发送批处理信号。该批处理信号用于指示终端将第一批次的消息进行上屏显示。示意性的,该批处理信号为onBatchComplete信号。
可选地,在终端创建节点树且接收到批处理信号后,根据已创建的节点树显示用户界面。
示意性的,结合图2及图4B,终端创建的节点树如图4B所示,该节点树中包括列表视图,列表视图所在的节点包括五个子节点,由于用户界面可显示的内容有限制,故根据用户界面的大小以及列表视图的大小确定显示用户界面时,可同时显示的列表消息的个数,即可显示的列表条目的个数。以该列表视图中可显示4个列表消息为例,参考图2,根据该节点树显示的用户界面如图2的用户界面21所示,终端通过该节点树,将列表视图的前4个子节点对应的列表消息显示在列表视图中,即列表消息A、列表消息B、列表消息C以及列表消息D。可选地,在显示上述列表消息A至列表消息D之前,终端需要为该列表消息A至列表消息D创建对应的列表条目。也即,为列表消息A创建列表条目23,为列表消息B创建列表条目24,为列表消息C创建列表条目25,为列表消息D创建列表条目26。
值得注意的是,上述举例中仅以列表视图的显示方式为示例进行举例,在实际操作中,该节点树中还包括其它视图,如:滚动视图、树形视图、HTML视图等,其它视图所在的节点也可以包括至少一个子节点,在显示用户界面时,需要将完整的节点树映射至用户界面中。
步骤904,接收在列表视图上的滑动信号。
可选地,该滑动信号为沿列表视图底部向列表视图顶部滑动的滑动信号,简称向上滑动信号;该滑动信号也可以是沿列表视图顶部向列表视图底部滑动的滑动信号,简称向下滑动信号。
步骤905,当第i-1批次的消息未显示完毕时,根据滑动信号在节点树中确定需要移入列表视图中的目标列表消息。
i为大于1的整数,初始值为2。
可选地,该目标列表消息为根据滑动信号确定的待移入列表视图中显示的列表消息。终端可以对该节点树中的所有列表消息进行遍历,当对已显示的列表消息遍历结束后,确定遍历得到的第一个未显示的列表消息,并将其确定为目标列表消息。
示意性的,请结合图4B,以对该节点树进行遍历为例,当终端接收到滑动信号后,对图4B所示的节点树进行遍历,并判断列表消息A、列表消息B、列表消息C以及列表消息D都为已显示,列表消息E为未显示,故将该列表消息E确定为目标列表消息。
步骤906,当存在可复用的目标列表条目时,复用目标列表条目将目标列表消息移入列表视图中进行显示。
该目标列表条目是历史创建且已移出列表视图的列表条目。可选地,终端中包括有缓存池,该缓存池中存储有历史创建且已移出列表视图的列表条目,终端可在该缓存池中查找是否存在该目标列表消息可复用的目标列表条目。
步骤907,当第i-1批次的消息显示完毕时,根据滑动信号生成消息获取信号。
可选地,第i-1批次的列表消息已在用户界面中全部显示过之后,根据滑动信号生成了消息获取信号。
示意性的,请参考图10,在用户界面1001中包括列表视图1002,其中,列表消息E为该节点树中第i-1批次的消息中的最后一条列表消息,在显示列表消息E后,在列表视图上继续接收到滑动信号,并根据该滑动信号生成了消息获取信号,在列表视图1002的底部显示有“正在为您加载更多…”。值得注意的是,上述消息获取信号用于获取第i批次的消息,该第i批次的消息中包括至少一条列表消息。
步骤908,根据消息获取信号获取用户界面对应的第i批次的消息。
其中,i为大于1的整数。可选地,终端根据该消息获取信号,向前端程序获取第i批次的消息。
步骤909,根据第i批次的消息更新节点树。
可选地,第i批次的消息包括尚未显示的若干条列表消息。终端在接收到第i批次的消息后,根据第i批次的消息对用户界面上的节点树进行更新。
该更新用户界面对应的节点树是指:在原有节点树的基础上,增加该第i批次的消息所对应的节点,和/或,刷新已有的列表节点。
示意性的,以根据第i批次的消息增加列表视图的子节点为例进行说明,请参考图11。第一批次的消息中包括列表消息A、列表消息B、列表消息C、列表消息D以及列表消息E,获取到的第二批次的消息中包括列表消息F、列表消息G以及列表消息H,故在列表视图的子节点中增加与上述列表消息F、列表消息G以及列表消息H对应的子节点,可选地,终端可以根据遍历的顺序,将上述列表消息F、列表消息G以及列表消息H依次进行增加。增加后的列表消息A至列表消息H在该节点树的同一层级上,即列表视图的子节点所在的层级上。
可选地,终端在更新后的节点树中确定需要移入列表视图中的目标列表消息。
值得注意的是,上述实施例中,以前端根据消息获取信号向终端发送第i批次的消息为例进行说明,在一个可选的实施例中,前端无需根据消息获取信号向终端发送第i批次的消息,开发人员可以对一个批次中的消息数量进行设置,如:每个批次发送20条消息,当第i-1批次的20条消息发送完毕后,前端直接向终端发送第i批次的20条消息。上述举例中以一个批次中包括20条消息为例进行说明,在实际操作中,该消息的数量可由开发人员自行进行设置,且不同批次的消息数量可以不同。
综上所述,通过利用节点树存储列表视图中未显示的列表消息,当根据滑动信号需要将目标列表消息移入列表视图中进行显示时,在历史创建且已移出列表视图的列表条目中,确定出可复用的目标列表条目,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为即将移入列表视图的目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况;
由于在节点树中存储的是列表消息对应的虚拟列表条目,终端不会为该虚拟列表条目创建实际的视图,故该虚拟列表条目所占内存的大小远小于实际的列表条目所占内存的大小,降低了创建的该节点树所占用的内存。
图12是本申请一个示例性的实施例提供的列表视图显示装置的结构框图,如图12所示,该列表视图显示装置中包括:显示模块1201、接收模块1202、确定模块1203以及复用模块1204。
显示模块1201,用于显示用户界面,所述用户界面包括所述列表视图中的n个列表条目,每个所述列表条目用来显示对应的列表消息,n为正整数;
接收模块1202,用于接收在所述列表视图上的滑动信号;
确定模块1203,用于根据所述滑动信号在节点树中确定需要移入所述列表视图中的目标列表消息,所述节点树中包括与所述列表视图对应的列表节点,每个列表节点与所述列表视图上需要显示的一条列表消息相对应;
复用模块1204,用于当存在可复用的目标列表条目时,复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示,所述目标列表条目是历史创建且已移出所述列表视图的列表条目。
在一个可选的实施例中,确定模块1203,还用于确定所述目标列表消息对应的条目类型;
确定模块1203,还用于在历史创建且已移出所述列表视图的列表条目中,将具有所述条目类型的列表条目确定为可复用的所述目标列表条目。
在一个可选的实施例中,所述复用模块1204,包括:
确定单元,用于确定所述目标列表条目对应的第一条目结构信息,所述第一条目结构信息包括:已创建的控件、已显示的列表消息、已设置的属性信息、已设置的排版信息和已设置的额外信息中的至少一种;
所述确定单元,还用于确定所述目标列表消息对应的第二条目结构信息,所述第二条目结构信息包括:显示所述目标列表消息所需要创建的所述控件、显示所述目标列表消息所需要设置的所述属性信息、显示所述目标列表消息所需要设置的排版信息和显示所述目标列表消息所需要设置的额外信息中的至少一种;
修改单元,用于当所述第一条目结构信息和所述第二条目结构信息存在差异时,根据所述差异将所述目标列表条目中的所述第一条目结构信息修改为所述第二条目结构信息;
复用单元,用于复用修改后的所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示。
在一个可选的实施例中,所述确定模块1203,还用于确定所述目标列表消息所对应的第二标识;
所述装置,还包括:
替换模块,用于将所述目标列表条目中的所述第一标识替换为所述第二标识。
在一个可选的实施例中,所述装置,还包括:
获取模块,用于获取所述用户界面对应的第一批次的消息,所述第一批次的消息中包括所述列表视图上需要显示的至少一条所述列表消息;
创建模块,用于根据所述第一批次的消息创建所述用户界面对应的所述节点树,所述节点树包括若干个节点,存在至少一个与所述列表消息对应的所述列表节点。
在一个可选的实施例中,所述装置,还包括:
生成模块,用于根据所述滑动信号生成消息获取信号;
所述获取模块,还用于根据所述消息获取信号获取所述用户界面对应的第i批次的消息;
更新模块,用于根据所述第i批次的消息更新所述节点树。
综上所述,通过对可复用的目标列表条目进行查询,当存在可复用的目标列表条目时,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为该目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况;
通过目标列表消息对应的条目类型查找具有该条目类型的列表条目,将不同条目类型的列表条目进行区分,便于列表条目的管理;
在一种可选的实施例中,目标列表消息的标识需要与列表条目的标识匹配成功后,才可复用该列表条目,故将目标列表条目中的第一标识进行替换,使得终端可以复用该目标列表条目;
通过对第一条目结构信息和第二条目结构信息之间的差异进行比较,使得仅需要对目标列表条目中的差异部分进行替换,由于无需全部替换,所以被替换的内容较少,减少了数据的传输。
综上所述,通过利用节点树存储列表视图中未显示的列表消息,当根据滑动信号需要将目标列表消息移入列表视图中进行显示时,在历史创建且已移出列表视图的列表条目中,确定出可复用的目标列表条目,复用该目标列表条目将目标列表消息移入列表视图中进行显示,而无需再为即将移入列表视图的目标列表消息创建额外的列表条目,减少了内存中列表条目的数量以及所占用的内存,提高了列表视图的滑动效率,减少或避免滑动列表视图时的卡顿情况;
由于在复用目标列表条目时,可能会面临两个问题:1、复用后的目标列表条目被点击时,没有跳转至目标列表消息对应的第一界面,而是可能会错误响应至复用前显示的列表消息X对应的第二界面;2、目标列表条目的条目结构与目标列表消息的条目结构存在差异,无法直接复用。
为了解决上述面临的两个问题中的第一个问题,本申请实施例中,终端将目标列表条目中的第一标识替换为第二标识,以确保复用后的目标列表条目被点击时,能够进行正确响应,如:当复用后的目标列表条目被点击时,能够正确跳转至与目标列表消息对应的用户界面;
为了解决上述面临的两个问题中的第二个问题,本申请实施例中,当第一条目结构信息和第二条目结构信息存在差异时,终端根据差异将目标列表条目中的第一条目结构信息修改为第二条目结构信息,以确保目标列表条目的条目结构与目标列表消息的条目结构一致。
图13示出了本发明一个示例性实施例提供的终端1300的结构框图。该终端1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器。终端1300还可能被称为用户设备、便携式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中提供的列表视图显示方法。
在一些实施例中,终端1300还可选包括有:***设备接口1303和至少一个***设备。具体地,***设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
***设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和***设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和***设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
触摸显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。触摸显示屏1305还具有采集在触摸显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。触摸显示屏1305用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,触摸显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,触摸显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,触摸显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,触摸显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。触摸显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示器)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头用于实现视频通话或自拍,后置摄像头用于实现照片或视频的拍摄。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能,主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307用于提供用户和终端1300之间的音频接口。音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,根据该握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,可以根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,以根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的正面。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如图1至图9任一所述的列表视图显示方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行并实现上述如图1至图9任一所述的列表视图显示方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (12)
1.一种列表视图显示方法,其特征在于,所述方法包括:
显示用户界面,所述用户界面包括所述列表视图中的n个列表条目,每个所述列表条目用来显示对应的列表消息,n为正整数;
接收在所述列表视图上的滑动信号;
根据所述滑动信号在节点树中确定需要移入所述列表视图中的目标列表消息,所述节点树中存储所述列表视图中未显示的列表消息,以及所述未显示的列表消息对应的虚拟列表条目,所述虚拟列表条目用于指示终端不会创建所述未显示的列表消息对应的视图;
确定历史创建且已移出所述列表视图的列表条目,并存储至缓存池中;
响应于所述缓存池中存在可复用的目标列表条目,复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示,所述目标列表条目用于指示所述缓存池中与所述目标列表消息的条目类型相同的列表条目。
2.根据权利要求1所述的方法,其特征在于,所述当存在可复用的目标列表条目时,复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示,包括:
确定所述目标列表条目对应的第一条目结构信息,所述第一条目结构信息包括:已创建的控件、已显示的列表消息、已设置的属性信息、已设置的排版信息和已设置的额外信息中的至少一种;
确定所述目标列表消息对应的第二条目结构信息,所述第二条目结构信息包括:显示所述目标列表消息所需要创建的所述控件、显示所述目标列表消息所需要设置的所述属性信息、显示所述目标列表消息所需要设置的排版信息和显示所述目标列表消息所需要设置的额外信息中的至少一种;
当所述第一条目结构信息和所述第二条目结构信息存在差异时,根据所述差异将所述目标列表条目中的所述第一条目结构信息修改为所述第二条目结构信息;
复用修改后的所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示。
3.根据权利要求1所述的方法,其特征在于,所述目标列表条目包括:第一标识,所述第一标识用于指示最近一次使用所述目标列表条目在所述列表视图中进行显示的列表消息对应的唯一标识;
所述复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示之前,还包括:
确定所述目标列表消息所对应的第二标识;
将所述目标列表条目中的所述第一标识替换为所述第二标识。
4.根据权利要求1至3任一所述的方法,其特征在于,所述显示用户界面之前,还包括:
获取所述用户界面对应的第一批次的消息,所述第一批次的消息中包括所述列表视图上需要显示的至少一条所述列表消息;
根据所述第一批次的消息创建所述用户界面对应的所述节点树,所述节点树包括若干个节点,存在至少一个与所述列表消息对应的所述列表节点。
5.根据权利要求4所述的方法,其特征在于,所述接收在所述列表视图上的滑动信号之后,还包括:
根据所述滑动信号生成消息获取信号;
根据所述消息获取信号获取所述用户界面对应的第i批次的消息,i为大于1的整数;
根据所述第i批次的消息更新所述节点树。
6.一种列表视图显示装置,其特征在于,所述装置包括:
显示模块,用于显示用户界面,所述用户界面包括所述列表视图中的n个列表条目,每个所述列表条目用来显示对应的列表消息,n为正整数;
接收模块,用于接收在所述列表视图上的滑动信号;
确定模块,用于根据所述滑动信号在节点树中确定需要移入所述列表视图中的目标列表消息,所述节点树中存储所述列表视图中未显示的列表消息,以及所述未显示的列表消息对应的虚拟列表条目,所述虚拟列表条目用于指示终端不会创建所述未显示的列表消息对应的视图;
用于确定历史创建且已移出所述列表视图的列表条目,并存储至缓存池中的模块;
复用模块,用于响应于所述缓存池中存在可复用的目标列表条目,复用所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示,所述目标列表条目用于指示所述缓存池中与所述目标列表消息的条目类型相同的列表条目。
7.根据权利要求6所述的装置,其特征在于,所述复用模块,包括:
确定单元,用于确定所述目标列表条目对应的第一条目结构信息,所述第一条目结构信息包括:已创建的控件、已显示的列表消息、已设置的属性信息、已设置的排版信息和已设置的额外信息中的至少一种;
所述确定单元,还用于确定所述目标列表消息对应的第二条目结构信息,所述第二条目结构信息包括:显示所述目标列表消息所需要创建的所述控件、显示所述目标列表消息所需要设置的所述属性信息、显示所述目标列表消息所需要设置的排版信息和显示所述目标列表消息所需要设置的额外信息中的至少一种;
修改单元,用于当所述第一条目结构信息和所述第二条目结构信息存在差异时,根据所述差异将所述目标列表条目中的所述第一条目结构信息修改为所述第二条目结构信息;
复用单元,用于复用修改后的所述目标列表条目将所述目标列表消息移入所述列表视图中进行显示。
8.根据权利要求6所述的装置,其特征在于,所述目标列表条目包括:第一标识,所述第一标识用于指示最近一次使用所述目标列表条目在所述列表视图中进行显示的列表消息对应的唯一标识;
所述确定模块,还用于确定所述目标列表消息所对应的第二标识;
所述装置,还包括:
替换模块,用于将所述目标列表条目中的所述第一标识替换为所述第二标识。
9.根据权利要求6至8任一所述的装置,其特征在于,所述装置,还包括:
获取模块,用于获取所述用户界面对应的第一批次的消息,所述第一批次的消息中包括所述列表视图上需要显示的至少一条所述列表消息;
创建模块,用于根据所述第一批次的消息创建所述用户界面对应的所述节点树,所述节点树包括若干个节点,存在至少一个与所述列表消息对应的所述列表节点。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
生成模块,用于根据所述滑动信号生成消息获取信号;
所述获取模块,还用于根据所述消息获取信号获取所述用户界面对应的第i批次的消息;
更新模块,用于根据所述第i批次的消息更新所述节点树。
11.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一段程序,所述至少一段程序由所述处理器加载并执行以实现如权利要求1至5任一所述的列表视图显示方法。
12.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一段程序,所述至少一段程序由处理器加载并执行以实现如权利要求1至5任一所述的列表视图显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711179801.9A CN109828802B (zh) | 2017-11-23 | 2017-11-23 | 列表视图显示方法、装置及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711179801.9A CN109828802B (zh) | 2017-11-23 | 2017-11-23 | 列表视图显示方法、装置及可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828802A CN109828802A (zh) | 2019-05-31 |
CN109828802B true CN109828802B (zh) | 2023-03-21 |
Family
ID=66858461
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711179801.9A Active CN109828802B (zh) | 2017-11-23 | 2017-11-23 | 列表视图显示方法、装置及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109828802B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442330B (zh) * | 2019-07-05 | 2023-07-21 | 五八有限公司 | 列表组件转换方法、装置、电子设备及存储介质 |
CN112230906B (zh) * | 2019-07-15 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 列表控件的创建方法、装置、设备及可读存储介质 |
CN110647322B (zh) * | 2019-08-15 | 2020-12-18 | 北京三快在线科技有限公司 | 列表渲染方法、装置、电子设备和计算机可读介质 |
CN111782994B (zh) * | 2019-09-30 | 2024-04-05 | 北京京东尚科信息技术有限公司 | 基于视图控件循环展示信息的方法和装置 |
CN110716684B (zh) * | 2019-10-10 | 2021-01-15 | 北京无限光场科技有限公司 | 用户界面的显示方法、装置、电子设备及机可读存储介质 |
CN112748967A (zh) * | 2019-10-30 | 2021-05-04 | 北京国双科技有限公司 | 树形控件定位显示方法、装置、计算机设备及存储介质 |
CN111309216B (zh) * | 2020-02-10 | 2022-03-22 | 广州虎牙科技有限公司 | 列表页面的显示方法、装置、计算机设备及存储介质 |
CN112235621B (zh) * | 2020-10-10 | 2022-08-26 | Vidaa美国公司 | 一种可视区域的显示方法及显示设备 |
WO2022076940A1 (en) | 2020-10-10 | 2022-04-14 | VIDAA USA, Inc. | Viewport display method and display apparatus |
CN112540761B (zh) * | 2020-12-11 | 2024-06-25 | 网易(杭州)网络有限公司 | 控件的显示控制方法和装置 |
CN112506509B (zh) * | 2020-12-11 | 2024-02-09 | 杭州安恒信息技术股份有限公司 | 一种实现树形控件支持大数据渲染的方法及相关装置 |
CN113436344A (zh) * | 2021-06-25 | 2021-09-24 | 广联达科技股份有限公司 | 一种引用视图的显示方法、***及图像显示设备 |
CN113946255B (zh) * | 2021-11-01 | 2024-06-21 | 广州繁星互娱信息科技有限公司 | 列表视图控件的运行方法、装置和电子设备 |
CN115237413B (zh) * | 2022-09-22 | 2023-02-24 | 北京达佳互联信息技术有限公司 | 一种列表处理方法、装置、电子设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110202871A1 (en) * | 2010-02-17 | 2011-08-18 | Oracle International Corporation | Method and system for scrolling through a graphical user interface list control |
CN104182129B (zh) * | 2013-05-22 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种数据列表编辑操作显示方法及装置 |
CN104216909B (zh) * | 2013-06-04 | 2018-10-02 | 腾讯科技(深圳)有限公司 | 网页数据处理方法及处理装置 |
CN105094776A (zh) * | 2014-05-14 | 2015-11-25 | 北大方正集团有限公司 | 列表的处理方法和设备 |
CN105867750A (zh) * | 2016-03-31 | 2016-08-17 | 郑州悉知信息科技股份有限公司 | 一种列表显示方法及装置 |
CN106528026B (zh) * | 2016-11-29 | 2019-11-05 | 武汉斗鱼网络科技有限公司 | 文本显示方法及装置 |
CN106648642A (zh) * | 2016-12-09 | 2017-05-10 | 武汉斗鱼网络科技有限公司 | Ios客户端中幻灯视图的无限滚动翻页方法及*** |
-
2017
- 2017-11-23 CN CN201711179801.9A patent/CN109828802B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109828802A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828802B (zh) | 列表视图显示方法、装置及可读介质 | |
CN107885533B (zh) | 管理组件代码的方法及装置 | |
US20190354332A1 (en) | Method and apparatus for outputting contents using a plurality of displays | |
CN110362762B (zh) | 内容数据展示方法、装置、电子设备及存储介质 | |
CN110362366B (zh) | 一种应用界面显示方法及装置 | |
CN109948087B (zh) | 网页资源的获取方法、装置及终端 | |
CN112527287A (zh) | 物品详情信息展示方法、装置、终端及存储介质 | |
CN108132790B (zh) | 检测无用代码的方法、装置及计算机存储介质 | |
CN113127130B (zh) | 页面跳转方法、装置及存储介质 | |
CN112749362B (zh) | 控件创建方法、装置、设备及存储介质 | |
US11537213B2 (en) | Character recommending method and apparatus, and computer device and storage medium | |
CN111159604A (zh) | 图片资源加载方法及装置 | |
CN111191176A (zh) | 网站内容更新方法、装置、终端及存储介质 | |
CN113051015A (zh) | 页面渲染方法、装置、电子设备及存储介质 | |
CN111125602B (zh) | 页面构建方法、装置、设备和存储介质 | |
CN114546545B (zh) | 图文显示方法、装置、终端及存储介质 | |
CN108038232B (zh) | 网页编辑方法、装置和***、存储介质 | |
CN110889060A (zh) | 网页显示方法、装置、计算机设备及存储介质 | |
CN107943484B (zh) | 执行业务功能的方法和装置 | |
CN110569064B (zh) | 接口标识生成方法、装置、设备及存储介质 | |
CN111275607A (zh) | 界面显示方法、装置、计算机设备及存储介质 | |
CN111580892A (zh) | 一种业务组件调用的方法、装置、终端和存储介质 | |
CN112181442B (zh) | 卸载页面显示方法、装置、终端、服务器及存储介质 | |
CN113051485A (zh) | 群组搜索方法、装置、终端及存储介质 | |
CN111258673A (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 |