CN103095556B - 一种基于即时通信的列表刷新方法和装置 - Google Patents
一种基于即时通信的列表刷新方法和装置 Download PDFInfo
- Publication number
- CN103095556B CN103095556B CN201210310981.0A CN201210310981A CN103095556B CN 103095556 B CN103095556 B CN 103095556B CN 201210310981 A CN201210310981 A CN 201210310981A CN 103095556 B CN103095556 B CN 103095556B
- Authority
- CN
- China
- Prior art keywords
- list
- template
- friend
- common template
- information data
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于即时通信的列表刷新方法和装置,通过建立一定数量的通用模板形成模板队列,在通用模板数少于好友数的情况下,供列表中所有好友轮换使用,具体是将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示;当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,加入模板队列中,供再次显示时使用,利用本发明可有效地解决现有技术中列表刷新慢的问题。
Description
技术领域
本发明涉及通信领域,特别涉及一种基于即时通信的列表刷新方法和装置。
背景技术
即时通信(IstantMessage,IM)是一种进行实时通信的消息服务,即时通信工具一般运行于接入互联网的计算机、手机等终端,能够即时发送和接收互联网消息等业务,人们通过消息发布窗口接收或发送消息,完成于其他用户之间的通讯,如聊天、传送文件、传递语音和视频等。
即时通信工具以列表的形式按条显示好友信息,好友条目不但包含好友的头像、昵称、文字等个性信息,还包含好友的状态信息(在线、忙碌、隐身等)。针对列表,通常的处理方式是在初始化时对列表中所有好友一一创建专用显示模板,再以好友的信息数据逐一填充,进行渲染,将得到的所有好友条目保存在系统内存中,需要显时直接调取显示在界面列表上;当好友状态改变时,在内存中对条目进行再处理。然而,由于创建模板和数据填充渲染步骤需要消耗的资源相对较大,数据处理时间长,导致往往在系统初始化阶段就耗时较长,且由于渲染好的好友条目都保存在终端内存中,当用户终端内存剩余空间有限或好友数量过多时,将拖累终端数据处理能力,导致系统的整体效能下降,将不可避免地降低列表的刷新速度,影响用户体验。
发明内容
本发明要解决的技术问题是提供一种基于即时通信的列表刷新方法和装置,用以解决现有技术中列表刷新慢的问题。
为解决上述技术问题,一方面,本发明提供一种基于即时通信的列表刷新方法,其包括:建立由一定数量的通用模板组成的模板队列,其中,通用模板的数量大于列表中需要显示的好友条目的数量;将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示;当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,加入模板队列中。
进一步地,使保存在系统内存中好友信息数据的排列顺序与列表内的好友排列顺序一致。
进一步地,所述通用模板越复杂,所述通用模板的数量越多。
进一步地,所述通用模板的数量比所述列表中需要显示的好友条目的数量至少多两个。
进一步地,对每一条所述好友信息数据绑定多个状态标识,当好友状态改变时,停用旧的状态标识,触发新的状态标识。
另一方面,本发明还提供一种即时通信的列表刷新装置,其包括:模板队列建立模块,用于建立由一定数量的通用模板组成的模板队列,其中,通用模板的数量大于列表中需要显示的好友条目的数量;显示处理模块,用于将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示;移出处理模块,用于当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,将其加入模板队列中。
本发明有益效果如下:
1.由于采用了通用模板循环填充数据进行渲染显示的方式实现条目显示,因此无论列表中有多少个条目,实际只需要创建一定数量的模板即可,仅在需要显示时有针对性的处理,因此即使内存中数据量很大也能够保持相同的运行效率,不会发生快速拖动列表时卡顿的现象。
2.由于不是针对每一个好友建立专用模板,也不在内存中形成显示条目,而是建立较少数量的通用模板,在列表滚动时形成显示条目,处理速度快,提升了用户体验。
3.由于不需要从内存中调取已渲染好的显示条目,而是用内存中好友的信息数据填充模板再渲染,数据调取效率高,同时降低了资源消耗。
附图说明
图1是常规的即时通信工具的列表的示意图。
图2是本发明实施例中列表刷新处理流程框图。
图3是本发明实施例中模板队列示意图。
图4是本发明基于即时通信的列表刷新装置结构示意图。
具体实施方式
本发明提供了一种基于即时通信的列表刷新方法和装置,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明的基于即时通信的列表刷新方法,该方法不是为每一个好友都建立专用的模板,而是仅建立一定数目的通用模板,在通用模板数少于好友数的情况下,供列表中所有好友轮换使用。
图1为常见的即时通信工具的列表示意图,在列表101中有若干条好友条目102,好友条目102中显示有好友的头像图片103和昵称104等信息。由于列表101的长度是有限的,当用户的好友超过一定数目时,在列表101的可视范围内仅能看到有限个好友A、B、C、D、E的条目,其它好友条目需要通过滚动列表的方式查看。本发明利用这种列表可视条目有限且列表可滚动的特点,提供所述列表刷新方法。
图2是本发明实施例中列表刷新处理流程框图,图3为通用模板形成的队列示意图。具体来讲,假定用户列表的可视范围内可容纳N条好友条目,则需要建立N+M个通用模板,基于这些通用模板形成好友条目,将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示,如图1所示的好友条目102,好友条目进入列表后,用户在列表中可观察到N条好友条目;其中,当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,加入模板队列中。举例来讲,图3为用户向上滚动列表的情况,则列表顶端的好友条目移出,将其携带的好友信息数据清除,即恢复为通用模板,该通用模板处于空闲,将其下移至模板队列的底端,如图3中箭头方向所示,供下一次显示时使用。
在上述过程中,列表中的好友条目数始终为N,只要对下移的通用模板重新填充一个好友的信息数据,经渲染形成好友条目即可再次显示,供用户查看。可见,本发明在列表滚动时通过对通用模板的清除数据-移动-填充新数据来完成列表的刷新,相较于以往的对每一个好友均建立专用模板,并将填充好友数据和渲染的步骤一并在内存中完成,使用中从内存中调取好友条目的方式,本发明不需要建立数目众多的模板,也不在内存中进行数据填充和模板渲染,缩短了系统初始化的时长,使用中通过对通用模板的处理实现好友条目显示,免去了从内存中调取好友条目的步骤,即不需占用这部分内存空间,使系统资源合理利用,提高了数据处理速度,列表刷新速度快。
好友的信息数据全部保存在系统内存中,本发明实施例针对数据的排列方式和排列顺序进行了设置:首先,内存中的好友信息数据的排列方式与列表中好友条目的显示方式一致,如果列表中的好友条目是树型结构(即在一个父目录下有多个子目录,在各子目录中显示各个好友条目),则对应好友的信息数据也以同样的树型结构来保存;其次,保存在系统内存中好友信息数据的排列顺序与列表内的好友排列顺序一致,因为本发明实施例中好友信息数据的排列顺序由各自携带的状态标识的类型决定,同时列表中的好友排列顺序也是根据好友的状态决定的,两者排序规则相同。例如,如果好友排序为在线>忙碌>离开>离线,对应的好友信息数据在内存中也以这样的顺序排列。这样的处理方式使得内存中保存的好友信息数据与其在列表中的位置完全对应,在列表滚动刷新时,可以快速定位需要的数据,从而节约刷新的处理时间。
对于建立的通用模板数N+M,其小于用户的好友总数,其中N是列表可视范围内容纳的好友条目数,列表窗口越长,N越大;M的最小值为2,可满足列表的顶端和底端各显示半截好友条目的情形,M的值越大,刷新速度越快,比如M=10,对于复杂的通用模板(包含多种标识、标记等),单个模板的响应速度变慢,同时有5个模板开始响应,后来的模板不必等待顶端模板下移下来就开始数据填充和渲染的处理,相当于延长了单个模板的处理时间而不影响整体显示进度,可提高复杂条目的刷新速度。
对于好友信息数据中的状态标识,当好友状态改变时,在内存中对应的好友信息数据中的状态标识也相应改变,按照本发明实施例采取的刷新方式,只有在向通用模板填充好友信息数据并渲染之后,才在列表中显示出好友改变后的状态,而并不是在内存中对好友状态进行改换,在内存中改换的只有状态标识。这种处理方式的好处是对于不在列表可视范围内的好友信息数据,当其状体标识改变后,不需要做进一步处理,相较于以往对于任何好友状态改变后均在内存中改换条目,本发明的仅在其将要进入可视范围的时候才进行处理,有利于节约系统资源。
在即时通信应用中,当好友状态改变时,需要相应地调整其条目在列表中的排序,利用本发明可完成好友状态改变时的排序处理。
情况一,好友A的状态改变,改变前后A均位于列表可视范围内。首先隐藏A的条目,把紧跟其后的条目同时上移,同时清除A条目的信息数据,得到通用模板,将该模板移至A改变状态后的位置,例如由“在线”变为“忙碌”时,将模板移至所有在线好友的后面,然后填充A的新数据,最后用户看到A在列表中的位置下调了,A的状态由“在线”变为了“忙碌”。
情况二,好友A状态改变,改变前后A均位于列表可视范围之外。这时A的显示条目并不存在,因此不需要对通用模板进行处理,仅需改变A的信息数据中的状态标识和数据的排序即可。后续随着用户滚动列表,会将A改变后的状态显示在列表中。
情况三,好友A状态改变,改变前A位于可视范围之外,改变后位于可视范围内。首先将列表中一部分好友条目同时下移,空出的位置就是A改变状态后的位置;对于移出可视范围的条目进行数据清除,得到通用模板,将该模板移至上述空出的位置,填充A的新数据并渲染处理后,用户可看到A出现在列表中。
情况四,好友A状态改变,改变前A位于可视范围内,改变后位于可视范围之外。首先隐藏A的条目,把紧跟其后的条目同时上移,同时清除A条目的信息数据得到通用模板,将该模板移至全部模板的底端,用于显示下一个好友的条目;对于改变状态后的A的新数据,将其移至内存中对应的位置,等待下一次显示A的条目时使用。
在上述处理中,任一个好友在列表中的条目位置有所变动时,对应到内存中的信息数据的位置也应做同样的变动。以上是对于M=2的具体实施例,可推广到M>2的情况,处理步骤相似,区别是建立的通用模板较多,可在需要时挑选空闲的通用模板,及时完成数据填充和渲染,用于显示。
除此之外,还可对保存在内存中好友信息数据建立一种反射机制,对每一条好友信息数据绑定多个状态标识,当好友状态改变时,停用旧的状态标识,触发新的状态标识,可提高对状态标识的处理速度。
为了解决现有技术中存在的列表刷新慢的问题,本发明还提供了一种基于即时通信的列表刷新装置,如图4所示,包括模板队列建立模块201,用于建立由一定数量的通用模板组成的模板队列,其中,通用模板的数量大于列表中需要显示的好友条目的数量;显示处理模块202,用于将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示;移出处理模块203,用于当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,将其加入模板队列中。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (8)
1.一种基于即时通信的列表刷新方法,其特征在于,包括:
建立由一定数量的通用模板组成的模板队列,其中,通用模板的数量大于列表中需要显示的好友条目的数量;
将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示;
当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,加入模板队列中;
其中,保存在系统内存中好友信息数据的排列顺序与列表内的好友排列顺序一致。
2.如权利要求1所述的列表刷新方法,其特征在于,所述通用模板越复杂,所述通用模板的数量越多。
3.如权利要求2所述的列表刷新方法,其特征在于,所述通用模板的数量比所述列表中需要显示的好友条目的数量至少多两个。
4.如权利要求1所述的列表刷新方法,其特征在于,对每一条所述好友信息数据绑定多个状态标识,当好友状态改变时,停用旧的状态标识,触发新的状态标识。
5.一种基于即时通信的列表刷新装置,其特征在于,包括:
模板队列建立模块,用于建立由一定数量的通用模板组成的模板队列,其中,通用模板的数量大于列表中需要显示的好友条目的数量;
显示处理模块,用于将要进入列表显示的好友的好友信息数据分别填充到模板队列中对应的通用模板中,渲染形成好友条目后进入列表显示;
移出处理模块,用于当好友条目移出列表时,将该好友条目对应的通用模板内的好友信息数据删除后,将其加入模板队列中;
所述装置进一步包括:
排序模块,用于使保存在系统内存中好友信息数据的排列顺序与列表内的好友排列顺序一致。
6.如权利要求5所述的列表刷新装置,其特征在于,所述通用模板越复杂,所述通用模板的数量越多。
7.如权利要求5所述的列表刷新装置,其特征在于,所述通用模板的数量比所述列表中需要显示的好友条目的数量至少多两个。
8.如权利要求5所述的列表刷新装置,其特征在于,所述装置进一步包括:
状态标识处理模块,用于对每一条所述好友信息数据绑定多个状态标识,当好友状态改变时,停用旧的状态标识,触发新的状态标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210310981.0A CN103095556B (zh) | 2012-08-29 | 2012-08-29 | 一种基于即时通信的列表刷新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210310981.0A CN103095556B (zh) | 2012-08-29 | 2012-08-29 | 一种基于即时通信的列表刷新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103095556A CN103095556A (zh) | 2013-05-08 |
CN103095556B true CN103095556B (zh) | 2016-07-06 |
Family
ID=48207710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210310981.0A Active CN103095556B (zh) | 2012-08-29 | 2012-08-29 | 一种基于即时通信的列表刷新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103095556B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107908336B (zh) * | 2017-11-13 | 2019-04-19 | 平安科技(深圳)有限公司 | 列表控件的刷新方法、装置、存储介质及终端 |
CN110647322B (zh) * | 2019-08-15 | 2020-12-18 | 北京三快在线科技有限公司 | 列表渲染方法、装置、电子设备和计算机可读介质 |
CN111596984A (zh) * | 2020-04-24 | 2020-08-28 | 西安震有信通科技有限公司 | 一种列表数据的显示方法 |
CN115292341B (zh) * | 2022-10-08 | 2022-12-27 | 广州市保伦电子有限公司 | 一种设备列表实时排序的方法、装置、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562791A (zh) * | 2009-06-04 | 2009-10-21 | 候万春 | 提供通过客户端经数据网发送包装短消息的系统和方法 |
CN101651744A (zh) * | 2009-09-11 | 2010-02-17 | 深圳华为通信技术有限公司 | 短信模板自动加载方法和手机设备 |
CN101980204A (zh) * | 2010-11-04 | 2011-02-23 | 上海银杏界信息科技有限公司 | 静态网页自动更新方法 |
-
2012
- 2012-08-29 CN CN201210310981.0A patent/CN103095556B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101562791A (zh) * | 2009-06-04 | 2009-10-21 | 候万春 | 提供通过客户端经数据网发送包装短消息的系统和方法 |
CN101651744A (zh) * | 2009-09-11 | 2010-02-17 | 深圳华为通信技术有限公司 | 短信模板自动加载方法和手机设备 |
CN101980204A (zh) * | 2010-11-04 | 2011-02-23 | 上海银杏界信息科技有限公司 | 静态网页自动更新方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103095556A (zh) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102238205B1 (ko) | 엔트리들을 위한 옵트-인 영속성을 갖는 메시지 스레드를 유지하는 장치 및 방법 | |
CN106850589B (zh) | 一种管控云计算终端和云服务器运作的方法 | |
US20140052801A1 (en) | Method for transmitting messages in instant messaging, client and storage medium thereof | |
CN103095556B (zh) | 一种基于即时通信的列表刷新方法和装置 | |
CN106104595B (zh) | 与视图相关联地对服务项目进行存储 | |
CN102364460B (zh) | 基于移动终端的页面自动放大方法和系统 | |
CN104899832A (zh) | 一种移动终端的拼接截图方法及拼接截图装置 | |
CN102841726A (zh) | Android系统下实现多Tab页的系统、装置及方法 | |
CN102760170A (zh) | 基于屏幕截图的电子书笔记方法 | |
CN103513856A (zh) | 刷新页面的方法和装置 | |
TW201627875A (zh) | 資料分享方法及裝置 | |
CN103491140A (zh) | 一种智能手表同步显示智能手机内容的方法及系统 | |
CN102982106A (zh) | 预打开网页的方法和装置 | |
CN108881227A (zh) | 远程白板系统的操作控制方法和装置、远程白板系统 | |
CN102711050A (zh) | 多人实时互动分享阅读装置及其使用方法 | |
EP4068120A1 (en) | Message management system and method for communication application, and presentation terminal | |
CN102111515A (zh) | 图片传送服务器及传送方法和网络终端及图片显示方法 | |
CN103870508A (zh) | 一种网页缩放方法、装置和系统 | |
CN104133869B (zh) | 一种网页页面刷新方法 | |
CN103208128B (zh) | 显示图片的方法及装置 | |
CN104375963B (zh) | 基于缓存一致性的控制系统和方法 | |
CN103543919B (zh) | 一种网页内容展示切换方法及装置 | |
CN102487362B (zh) | Im消息的显示方法和装置 | |
CN105183288B (zh) | 单窗口多任务显示方法及其智能移动终端 | |
CN104700206A (zh) | 一种智慧园区的互动互通系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |