CN108958572A - 消息数据处理方法、装置、存储介质和计算机设备 - Google Patents
消息数据处理方法、装置、存储介质和计算机设备 Download PDFInfo
- Publication number
- CN108958572A CN108958572A CN201710379728.3A CN201710379728A CN108958572A CN 108958572 A CN108958572 A CN 108958572A CN 201710379728 A CN201710379728 A CN 201710379728A CN 108958572 A CN108958572 A CN 108958572A
- Authority
- CN
- China
- Prior art keywords
- message data
- data block
- user
- message
- sliding window
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/043—Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/224—Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种消息数据处理方法,包括获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块,清除移出滑动窗口内的第一用户消息数据块绑定的第一用户数据,得到空白消息数据块;将空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块显示当前3D会话对应的全部会话消息,优化了系统内存。还提供一种消息数据处理装置、存储介质和计算机设备。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种消息数据处理方法、装置、存储介质和计算机设备。
背景技术
随着计算机技术的发展,越来越多的应用可以发送即时通信消息,实现实时通信。
对于能够实现即时通信的3D类应用,展示接收到的3D消息时,当消息较多时需要构建过多的消息数据块以在显示界面显示3D消息,构建消息数据块会占用较多内存,导致内存容量不足。
发明内容
基于此,有必要针对上述问题,提供一种消息数据处理方法、装置、存储介质和计算机设备,能够通过对消息数据块的无限重用实现对全部3D消息的展示,优化内存占用。
一种消息数据处理方法,所述方法包括:
获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;
如果存在移出所述滑动窗口内的第一用户消息数据块,则清除所述第一用户消息数据块绑定的第一用户数据,所述第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;
将所述空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,所述空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
一种消息数据处理装置,所述装置包括:
移动模块,用于获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;
空白消息数据块获取模块,用于如果存在移出所述滑动窗口内的第一用户消息数据块,则清除所述第一用户消息数据块绑定的第一用户数据,所述第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;
重用更新模块,用于将所述空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,所述空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行以下步骤:获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;如果存在移出所述滑动窗口内的第一用户消息数据块,则清除所述第一用户消息数据块绑定的第一用户数据,所述第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;将所述空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,所述空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
一种计算机设备,包括存储器和处理器,所述存储器中储存有计算机可读指令,计算机可读指令被所述处理器执行时,使得所述处理器执行以下步骤:获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;如果存在移出所述滑动窗口内的第一用户消息数据块,则清除所述第一用户消息数据块绑定的第一用户数据,所述第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;将所述空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,所述空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。。
上述消息数据处理方法、装置、存储介质和计算机设备,通过获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块,如果第一用户消息数据块移出到滑动窗口外,则清除用户消息数据块绑定的第一用户数据,得到空白消息数据块,将得到的空白消息数据块回收进入消息数据块缓存池,更新位于滑动窗口内的用户消息数据块,并且回收进入消息数据块缓存池的空白消息数据块能够与第二用户数据绑定生成第二用户消息数据块。通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块展示当前3D会话对应的全部会话消息,优化了系统内存。
附图说明
图1A为一个实施例中消息数据处理方法应用环境图;
图1B为一个实施例中消息数据处理方法终端内部结构图;
图2为一个实施例中消息数据处理方法流程图;
图3为一个实施例中更新滑动窗口内用户消息数据块的方法流程图;
图4为一个实施例中消息数据处理方法流程图;
图5为另一个实施例中消息数据处理方法流程图;
图6为一个实施例中空白消息数据块回收的方法流程图;
图7为一个实施例中用户界面层级架构图;
图7A为一个实施例中可滑动区域参数设置界面图;
图8为一个实施例中消息数据处理方法流程图;
图9为另一个实施例中更新滑动窗口内用户消息数据块的方法流程图;
图10为另一个实施例中消息数据处理方法流程图;
图11为一个实施例中初始用户界面显示界面图;
图12为一个实施例中滑动窗口更新用户消息数据块的示意图;
图13为一个实施例中实现消息数据处理方法的模块架构图;
图14为一个实施例中消息数据处理装置的结构框图;
图15为一个实施例中重用更新模块的结构框图;
图16为一个实施例中移动模块的结构框图;
图17为另一个实施例中消息数据处理装置的结构框图;
图18为又一个实施例中消息数据处理装置的结构框图;
图19为一个实施例中消息数据处理装置的结构框图;
图20为一个实施例中重用更新模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1A为一个实施例中,一种消息数据处理方法应用环境图。如图1A所示,该应用环境包括终端110和服务器120,其中终端110和服务器120可通过网络进行通信。终端110接收通过服务器120传输的消息,获取当前会话对应的3D会话消息组成消息记录集。根据消息记录集中的消息生成用户消息数据块,进一步地,终端110获取滑动指令,根据滑动指令清除对应的用户数据生成空白消息数据块,并保存在消息数据块缓存池中,消息数据块缓存池在终端110中,然后终端110从消息记录集中获取用户数据,从消息数据块缓存池中获取空白消息数据块生成用户消息数据块,对消息进行显示。
图1B为一个实施例中终端的内部结构示意图。如图1B所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口、显示屏和输入装置。其中,终端的非易失性存储介质存储有操作系统,还包括一种消息数据处理装置,该消息数据处理装置用于实现一种消息数据处理方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的消息数据处理装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被所述处理器执行时,可使得所述处理器执行一种消息数据处理方法。网络接口用于与服务器进行网络通信,如发送用户数据请求至服务器,接收服务器返回的用户数据等。终端的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
如图2所示,在一个实施例中,提供一种消息数据处理方法,包括以下内容:
步骤S210,获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块。
其中,用户消息数据块是指用来展示消息具体内容的数据块,能够将消息具体内容显示在UI(User Interface,用户界面)中。用户消息数据块包括空白消息数据块和对应的用户数据,每条3D会话消息对应一个用户消息数据块。
具体地,当前显示区域是指终端对应的显示屏幕当前能够显示消息具体内容的区域,当前显示区域中的消息内容与终端后台滑动窗口内的用户消息数据块相对应。获取作用于当前显示区域的滑动操作后,生成滑动指令,滑动指令用于移动滑动窗口内的用户消息数据块,从而根据滑动操作更新当前显示区域的消息内容。
步骤S220,如果存在移出滑动窗口内的第一用户消息数据块,则清除第一用户消息数据块绑定的第一用户数据,第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块。
具体地,当第一用户消息数据块移出滑动窗口内时,第一用户消息数据块对应的内容移出当前显示区域,清除第一用户消息数据块绑定的第一用户数据,得到空白消息数据块。其中,第一用户数据包括第一消息内容和第一3D用户标识数据。消息内容包括消息发送的时间、消息类型和消息具体内容,消息类型包括文字、图片、视频等,3D用户标识数据是指用来标识消息对应的发送用户的数据,可以是图片,如图片为发送消息的用户对应的3D人物头像。
步骤S230,将空白消息数据块回收进入消息数据块缓存池中,更新位于滑动窗口内的用户消息数据块,空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
其中消息数据块缓存池用来存储空白消息数据块,能够回收清除用户数据得到的空白消息数据块,并且能够提供空白消息数据块进行重复使用,消息数据块缓存池中的初始空白消息数据块数目可以根据具体需求预先设置。
具体地,获取滑动指令后,滑动窗口内的用户消息数据块向滑动窗口头部方向移动,将滑动窗口头部用户消息数据块移出滑动窗口内的同时,将滑动窗口尾部的下一条消息对应的用户消息数据块移动到滑动窗口内,更新位于滑动窗口内的用户消息数据块。进一步地,滑动窗口尾部的下一条消息是指按照时间顺序,在未进入当前显示区域中的消息中发送时间最早的消息。
将得到的空白消息数据块回收进入消息数据缓存池,放入消息数据块缓存池的空白消息数据块能够重复使用,与其他用户数据绑定生成对应的用户消息数据块。
本实施例中,通过获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块,如果第一用户消息数据块移出到滑动窗口外,则清除用户消息数据块绑定的第一用户数据,得到空白消息数据块,将得到的空白消息数据块回收进入消息数据块缓存池,更新位于滑动窗口内的用户消息数据块,并且回收进入消息数据块缓存池的空白消息数据块能够与第二用户数据绑定生成第二用户消息数据块。通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块展示当前3D会话对应的全部会话消息,优化了系统内存。
如图3所示,在一个实施例中,步骤S230包括:
步骤S231,从消息记录集中获取滑动窗口尾部用户消息数据块对应的用户数据之后的第三用户数据。
其中,消息记录集是指一个3D会话中对应的3D会话消息的集合,根据3D会话消息的状态可以分为未读消息和已读消息,每一条3D会话消息包括3D会话消息的具体内容、用户标识以及3D会话发送的时间,按照时间顺序将3D会话消息排列在消息记录集中。
当根据滑动指令更新滑动窗口内的用户消息数据块时,从消息记录集中获取当前滑动窗口尾部的用户消息数据块对应的3D会话消息的发送时间,并获取在该发送时间之后并距离该发送时间最近的消息发送时间对应的3D会话消息,根据获取的3D会话消息中的用户标识获取对应的用户3D人物图像,将3D人物图像作为3D会话消息的图像标识,将获取的3D会话消息和对应的用户3D人物图像组成第三用户数据。
步骤S232,从消息数据块缓存池中获取空白消息数据块,并将第三用户数据与空白消息数据块绑定生成第三用户消息数据块。具体地,从消息记录集中获取到第三用户数据后,为了将第三用户数据在显示区域进行显示,首先需要获取用于与第三用户数据绑定的空白消息数据块。检测消息数据块缓存池中是否存在空白消息数据块,若存在,则直接从消息数据块缓存池中获取空白消息数据块,若不存在,则直接建立空白消息数据块。
进一步地,获取到空白消息数据块后,将第三用户数据与空白消息数据块绑定生成第三用户消息数据块。
步骤S233,将第三用户消息数据块移入滑动窗口内。
将生成的第三用户消息数据块移入滑动窗口内,即将第三用户消息数据块对应的3D会话消息在当前显示区域进行显示。
本实施例中,根据当前滑动窗口尾部显示的3D会话消息,从消息数据集中获取对应的下一个3D会话消息,并根据下一个3D会话消息的用户标识获取对应的用户3D人物图像,从而根据3D会话消息和用户3D人物图像组成用户数据,与获取的空白消息数据块绑定生成对应的用户消息数据块,将生成的用户消息数据块移入滑动窗口内。根据消息记录集中消息对应的发送时间,按照时间顺序依次更新滑动窗口内的用户消息数据块,从而在当前显示区域按照时间顺序显示3D会话消息,并且当消息数据块缓存池中存在空白消息数据块时,对空白消息数据块重复使用,降低了内存损耗。
如图4所示,在一个实施例中,滑动窗口头部和尾部对应的边缘分别包括第一缓存区和第二缓存区,步骤S210包括:
步骤S211,获取第一滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区。
其中,预先在滑动窗口的头部和尾部的边缘部分分别设置第一缓冲区和第二缓存区,第一缓存区用来存储刚刚移出滑动窗口的用户消息数据块,第二缓存区用来存储即将移入到滑动窗口内的用户消息数据块。
具体地,当获取到滑动指令时,移动滑动窗口内的用户消息数据块,将滑动窗口头部的第一用户消息数据块移动到第一缓存区。
步骤S212,将第二缓存区中的待移入用户消息数据块移动到滑动窗口内。
具体地,在初始化时,从消息记录集中按照时间顺序获取预设数目的未读消息,并建立相同数目的空白消息数据块,将空白消息数据块与未读消息一一对应建立绑定关系生成预设数目的初始用户消息数据块,将初始用户消息数据块按照消息发送时间分别存储至滑动窗口内和第二缓存区内,由于初始显示未读消息时,不存在移出滑动窗口的用户消息数据块,因此第一缓存区为空,第二缓存区中存储的是待移入滑动窗口的用户消息数据块。
当获取滑动指令时,根据滑动指令,滑动窗口内的用户消息数据块向滑动窗口头部移动,第二缓存区内的待移入用户消息数据块移动到滑动窗口内。
步骤S213,从消息记录集中获取待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从消息数据块缓存池中获取空白消息数据块。
具体地,当第二缓存区中的待移入用户消息数据块移动到滑动窗口内后,需要在第二缓存区存储下一个即将移入滑动窗口内的用户消息数据块。获取当前第二缓存区中待移入用户消息数据块绑定的用户数据,根据该用户数据中的用户消息内容对应的发送时间,在消息记录集中获取该用户消息对应的下一个用户消息,并根据对应的用户标识获取用户3D人物图像,将下一个用户消息和对应的用户3D人物图像组合得到下一个用户数据。并同时从消息数据块缓存池中获取空白消息数据块。
特别地,若当前第二缓存区中对应的用户消息数据块对应的消息内容为当前消息记录集中的最后一条消息内容,则第二缓存区空置,当前滑动窗口无法再次向滑动窗口头部方向滑动。
步骤S214,将下一个用户数据与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
具体地,将获取到的下一个用户数据与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。实现对滑动窗口内用户消息数据块的更新。
本实施例中,预先在滑动窗口头部和尾部边缘部分分别设置第一缓存区和第二缓存区,根据滑动指令,将当前滑动窗口头部的第一用户消息数据块移动到第一缓存区,将第二缓存区中的用户消息数据块移动到滑动窗口内,并获取下一个用户消息数据块移动到第二缓存区,实现根据滑动指令更新滑动窗口内的功能,并且在滑动窗口头部和尾部边缘分别设置第一缓存区和第二缓存区,缩短了待移入用户消息数据块的建立过程,从而保证在滑动指令更新较快时,能够及时显示对应的用户消息数据块,优化系统性能。
在一个实施例中,消息数据处理方法还包括:
获取第二滑动指令,将第一用户消息数据块移出第一缓存区,进入步骤S220,进入步骤S212。
具体地,当将第一用户消息数据块移动到第一缓存区后,再次获取到滑动指令,需要再次更新滑动窗口内的用户消息数据块,为了使待移入滑动窗口的用户消息数据块移动到滑动窗口内,将第一用户消息数据块再次移动,此时第一用户消息数据块移出第一缓存区,清除第一用户消息数据块绑定的第一用户数据,生成空白消息数据块并回收进入消息数据块缓存池中,将当前第二缓存区中的待移入用户消息数据块移动到滑动窗口内,获取对应的下一个用户数据更新第二缓存区中的待移入用户消息数据块。
获取当滑动指令后,重复执行上述步骤,不断重复生成空白消息数据块,并不断重复使用空白消息数据块生成新的用户消息数据块,更新滑动窗口内的用户消息数据块,对3D会话中的3D会话消息进行依次进行显示,直至显示当前3D会话对应的最后一条会话为止。
本实施例中,根据滑动指令,依次显示当前3D会话对应的3D会话消息,在显示的过程中,不断清除已经显示或者移出滑动窗口的用户消息数据块绑定的用户数据生成空白消息数据块,并且不断的利用空白消息数据块生成新的用户消息数据块,通过对空白消息数据块的重复使用,显示当前3D会话中的全部3D会话消息内容,不需要建立大量的空白消息数据块,有效的节省了系统内存。
如图5所示,在一个实施例中,消息数据处理方法还包括:
步骤S240,从消息记录集中获取预设数目的用户消息内容,并根据用户消息内容对应的用户标识获取对应的3D用户标识数据。
具体地,在当前显示区域使用3D会话消息对应的用户3D人物形象形成的图像标识表示该3D会话消息,预先根据当前显示屏屏幕尺寸和用户3D人物图像形成的图像标识的尺寸,确定当前显示屏一次能够显示的消息的数目。
进一步地,消息记录集为当前3D会话对应的3D会话消息的集合,当需要显示未读消息时,根据标记的消息状态从消息记录集中获取未读消息集合,并按照未读消息发送时间的先后顺序,获取对应数目的用户消息内容,根据用户消息内容对应的用户标识获取对应的3D用户标识数据。其中,3D用户标识数据是指根据预先采集的用户真实信息和3D脸部资源信息等生成的3D用户人物模型数据。
步骤S250,建立预设数目的空白消息数据块,将预设数目的用户消息内容以及对应的3D用户标识数据与预设数目的空白消息数据块绑定生成预设数目的初始用户消息数据块,将初始用户消息数据块放入滑动窗口内。
具体地,通过将用户消息内容与空白消息数据块绑定的形式渲染用户消息内容,使用户消息内容能够在UI界面渲染显示。根据获取的用户消息内容的数目创建相同数目的空白消息数据块。
进一步地,将用户消息内容以及对应的3D用户标识数据分别组成对应的用户数据,将用户数据与空白消息数据块一一对应建立绑定关系,生成对应的初始用户消息数据块,将预设数目的初始用户消息数据块放入滑动窗口内。
步骤S260,根据初始用户消息数据块生成初始用户界面,根据作用于初始用户界面的滑动操作生成滑动指令。
具体地,将初始用户消息数据块进行渲染,在当前显示区域进行显示生成初始用户界面。在初始用户界面中,初始用户消息数据块对应的消息具体内容以对应的3D人物图像标识显示。获取到作用于3D人物图像标识的操作,显示对应的3D消息的具体内容。获取作用于用户界面的滑动操作生成滑动指令,使终端后台根据生成的滑动指令执行后续操作,更新初始用户界面。
如图6所示,在一个实施例中,将空白消息数据块回收进入消息数据缓存池中的步骤包括:
步骤S230A,检测当前消息数据缓存池中的空白消息数据块的数目是否超过预设数目阈值,若是,则执行步骤S230B,若否,则执行步骤S230C。
具体地,当检测到用户消息数据块移动到滑动窗口外或者第一缓存区外时,清除对应的用户消息数据块绑定的用户数据获取对应的空白消息数据块,将空白消息数据块回收到消息数据缓存池中以便重复使用。进一步地,预先设置消息数据缓存池中的空白消息数据块数目阈值,该阈值可以根据当前显示区域能够显示的未读3D消息数目确定,或者根据系统内存情况确定。
在将空白消息数据块回收到消息数据缓存池之前,首先检测当前消息数据缓存池中的空白消息数据块的数目是否超过预设数目阈值,若是,则执行步骤S230B,若否,则执行步骤S230C。
步骤S230B,直接丢弃当前得到的空白消息数据块。
具体地,当检测到当前消息数据缓存池中的空白消息数据块的数目超过预设数目阈值时,直接丢弃当前得到的空白消息数据块。
步骤S230C,将空白消息数据块回收进入消息数据块缓存池中。
具体地,若检测到当前消息数据缓存池中的空白消息数据块的数目未超过预设数目阈值时,说明此时可以对空白消息数据块进行回收,将空白消息数据块回收进入消息数据块缓存池中。
本实施例中,通过设置消息数据缓存池存储空白消息数据块的最大数目阈值,防止由于程序出现问题导致消息数据块缓存池中的空白消息数据块一直增大,造成内存占用过大。
在一个实施例中,当前显示区域对应的用户界面层级包括根节点、可视区域和可滑动区域,可滑动区域中包括根据滑动窗口的长度确定的用户消息数据块,将用户消息数据块在用户界面的停靠中心点设置为靠左。
本实施例中,设置当前显示区域对应的用户界面层级存储当前3D会话对应的3D会话消息。如图7所示,用户界面层级包括Time Line Root(根节点)、Viewport(可视区域),Content(可滑动区域),每一个Avatar Btn对应一个消息数据块,其中可视区域是指能够在终端显示屏显示的区域,可滑动区域是指能够滑动显示的区域,可滑动区域的宽度与消息数目相同,可以根据接收的消息数目调整设置可滑动区域的宽度。
可滑动区域中包括预设数目的用户消息数据块,用户消息数据块根据滑动窗口的长度确定,也可以考虑加上预设缓存区的长度。如图7A所示,在可滑动区域宽度设置界面配置参数设置可滑动区域大小以及缓存区大小,并将用户消息数据块在用户界面的停靠中心点设置为靠左。这样当有新消息到来,修改可滑动区域的宽度时,只需要修改右边的宽度,左边已经存在的消息的位置不需要改变。例如,若停靠中心点设置为居中,修改可滑动区域的宽度,比如增加100宽度,则会在左右两边分别增加50,停靠中心点设置为靠左,则会只在右边增加100,比如有新消息到来,只需要向右扩大一定可滑动区域,左边的可滑动区域是不需要变化的。
本实施例中,通过设置用户界面层级,存储不同的3D会话消息,将用户消息数据块在用户界面的停靠中心点设置为靠左,能够使新消息到来时,预先设置的用户消息数据块位置不发生变化,几乎无代价插入任意多条新消息。
如图8所示,在一个实施例中,消息数据处理方法还包括:
步骤S310,实时接收更新的用户消息,根据更新后的用户消息数目更改用户界面层级中可滑动区域的宽度。
具体地,可滑动区域的宽度与未读消息的数目相对应,实时接收更新的用户消息,根据用户消息数目增加可滑动区域的宽度。特别地,若当前没有消息更新,且有未读消息被标记为已读消息,关闭当前未读消息显示列表后,删除已读消息,根据剩余的未读消息数目更改可滑动区域的宽度。
步骤S320,并将接收到的更新的用户消息内容按照时间戳的先后顺序依次存储到消息记录集中。
具体地,将接收到的更新的用户消息内容按照消息发送时间的先后顺序依次存储到消息记录集中,将最后发送的消息存储在消息记录集中的尾部。以便按照时间线的形式展示未读消息,时间线是指将事件列表在时间长轴上按时间顺序进行展示。
本实施例中,通过更新可滑动区域的宽度存储更新的未读消息,并将未读消息按照时间顺序存储在消息记录集中,以使未读消息能够按照时间线的形式展示。
如图9所示,在一个实施例中,滑动窗口包括显示区域和层叠区域,步骤S220包括:
步骤S221,获取层叠区域头部对应的第一层叠用户消息数据块,将第一层叠用户消息数据块移入显示区域。
其中,滑动窗口包括显示区域和层叠区域,显示区域是指逐个分别显示用户消息数据块的区域,层叠区域是指将用户消息数据块覆盖层叠显示的区域,能够存储多个用户消息数据块。将预先建立用户消息数据块分别存储到滑动窗口中的显示区域内或层叠区域内。
具体地,获取滑动指令,将显示区域头部的用户消息数据块移动出滑动窗口,同时获取层叠区域头部对应的第一层叠用户消息数据块,将第一层叠用户消息数据块移入显示区域,显示第一层叠用户消息数据块。
步骤S222,从消息记录集中获取层叠区域尾部对应的第二层叠用户消息数据块对应的下一个用户数据。
其中,第二层叠用户消息数据块是指层叠区域内最后一层的用户消息数据块。具体地,根据层叠区域层叠的用户消息数据块,获取层叠区域最后一层对应的层叠用户消息数据块对应的用户数据,根据最后的用户数据对应的发送时间在消息记录集中获取对应的下一个用户数据。
步骤S223,从消息数据块缓存池中获取空白消息数据块,并将下一个用户数据与空白消息数据块绑定生成下一个用户消息数据块。
步骤S224,将下一个用户消息数据块移入层叠区域尾部。
具体地,将生成的下一个用户消息数据块移入层叠区域尾部,更新滑动窗口内的用户消息数据块。
本实施例中,滑动窗口包括显示区域和层叠区域,层叠区域能够存储多个预先建立的用户消息数据块,当在较短时间内获取多个滑动指令时,能够快速显示多个未读消息,节省了滑动过程中创建用户消息数据块的时间,优化了系统性能。
如图10所示,在一个具体实施例中,提供一种消息数据处理方法,包括以下内容:
步骤S401,从消息记录集中获取预设数目的用户数据,并建立预设数目的空白消息数据块。
步骤S402,将预设数目的用户数据与预设数目的空白消息数据块绑定生成预设数目的初始用户消息数据块。
步骤S403,根据预设数目的初始用户消息数据块生成初始用户界面,根据作用于初始用户界面的滑动操作生成滑动指令。
具体地,如图11所示,在初始用户界面1100显示未读消息数目和初始未读消息图像标识1110和未读消息数目1130,进一步地,获取作用于未读消息图像标识的操作显示对应的未读消息具体内容1120。
步骤S404,当前滑动窗口头部和尾部的边缘分别设置第一缓存区和第二缓存区,获取滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区。
如图12中的A部分所示,滑动窗口1200头部和尾部的边缘分别设置第一缓存区1210和第二缓存区1220,根据预设数目的用户数据与预设数目的空白消息数据块,建立预设数目的初始用户消息数据块并分别存储到滑动窗口1200内、第一缓存区1210和第二缓存区1220中。例如,屏幕内能显示5条消息,则在滑动窗口1200内预设5个初始用户消息数据块,建立初始用户消息数据块时,第一缓存区1210空置,加上第二缓存区1220存储的用户消息数据块,共生成6个初始用户消息数据块。进一步地,如图12中的B部分所示,获取滑动指令,将滑动窗口头部的第一用户消息数据块1211移动到第一缓存区1210,暂时保留第一用户消息数据块1211。
步骤S405,将第二缓存区中的待移入用户消息数据块移动到滑动窗口内。
具体地,如图12中的B部分所示,同时将第二缓存区1220中的待移入用户消息数据块移动到滑动窗口1200内。
步骤S406,从消息记录集中获取待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从消息数据块缓存池中获取空白消息数据块。
具体地,消息管理器管理消息的状态,如标记消息已读状态和消息未读状态,同时管理消息的增删。用户消息数据块生成器从消息管理器的消息记录集中获取对应的下一个用户数据,检测消息数据块缓存池1230中是否存在空白消息数据块,若存在,则从消息数据块缓存池1230中获取空白消息数据块,若不存在,则创建一个新的空白消息数据块。
步骤S407,将下一个用户数据与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
具体地,用户消息数据块生成器将下一个用户数据对应的用户界面元素,如头像、消息内容、消息类型等与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区1220。
步骤S408,获取第二滑动指令,将第一用户消息数据块移出第一缓存区,清除第一用户消息数据块绑定的第一用户数据,得到空白消息数据块。
具体地,获取第二滑动指令,如图12中的C部分所示,将第一用户消息数据块1211移出第一缓存区1210,清除第一用户消息数据块1211绑定的第一用户数据,得到空白消息数据块1212。
步骤S409,将空白消息数据块回收进入消息数据块缓存池中,执行步骤S404,直至当前3D会话未读消息全部建立对应的用户消息数据块。
具体地,如图12中的C部分所示,将空白消息数据块1212回收进入消息数据块缓存池1230中,重复执行步骤S404,直至根据滑动操作,在当前显示区域显示当前3D会话中所有未读消息。
本实施例中,通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块展示当前3D会话对应的全部会话消息,优化了系统内存。
基于Unity3D的UI框架UGUI中,没有消息数据块重用机制,无法直接对消息数据块进行重用,从而节省系统内存。如图13所示,为用于实现消息数据处理方法的模块架构图,利用该模块架构实现对消息数据块的重用。该模块架构图中主要包括Time LineController(时间线控制模块)、Item Gen(用户消息数据块生成器)、Item Pool(空白消息数据块缓存池)、Message Manager(消息管理器)、Unity UGUI(3D用户界面显示模块)、Headcapture(头捕获模块)、Cache(存储模块)。其中Item Gen用于将消息内容还原到用户界面上,Item Pool用于存储空白消息数据块,随着不断的滑动时间线,为了节约内存,ItemPool不断的回收滑出屏幕外的空白消息数据块,创建新的用户消息数据块可直接从缓存池中取空白消息数据块,Message Manager用于管理消息的状态,如消息的已读、未读、已打开等状态并管理消息的增删。
当需要创建用户消息数据块时,Item Gen从Message Manager获取消息的具体内容,从Item Pool中获取空白消息数据块,并将消息的具体内容与空白消息数据块绑定生成对应的用户消息数据块,在用户界面进行显示。
本实施例中,Item pool回收和重用空白消息数据块,Message Manager管理3D会话消息的具体内容,Item Gen将消息具体内容显示在用户界面上,三个模块之间的配合实现了在Unity UGUI架构下,对消息数据块的重用,极大的节省了系统内存,提高系统性能。
如图14所示,在一个实施例中,提供一种消息数据处理装置,包括:
移动模块510,用于获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块。
空白消息数据块获取模块520,用于如果存在移出滑动窗口内的第一用户消息数据块,则清除第一用户消息数据块绑定的第一用户数据,第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;
重用更新模块530,用于将空白消息数据块回收进入消息数据块缓存池中,更新位于滑动窗口内的用户消息数据块,空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
本实施例中,通过获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块,如果第一用户消息数据块移出到滑动窗口外,则清除用户消息数据块绑定的第一用户数据,得到空白消息数据块,将得到的空白消息数据块回收进入消息数据块缓存池,更新位于滑动窗口内的用户消息数据块,并且回收进入消息数据块缓存池的空白消息数据块能够与第二用户数据绑定生成第二用户消息数据块。通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块展示当前3D会话对应的全部会话消息,优化了系统内存。
如图15所示,在一个实施例中,重用更新模块530包括:
第一用户数据获取模块531,用于从消息记录集中获取滑动窗口尾部用户消息数据块对应的用户数据之后的第三用户数据。
第一用户消息数据块生成模块532,用于从消息数据块缓存池中获取空白消息数据块,并将第三用户数据与空白消息数据块绑定生成第三用户消息数据块。
第一消息数据块更新模块533,用于将第三用户消息数据块移入滑动窗口内。
如图16所示,在一个实施例中,滑动窗口头部和尾部对应的边缘分别包括第一缓存区和第二缓存区,移动模块510包括:
第一移出模块511,用于获取第一滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区。
第一移入模块512,用于将第二缓存区中的待移入用户消息数据块移动到滑动窗口内。
更新模块513,用于从消息记录集中获取待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从消息数据块缓存池中获取空白消息数据块,将下一个用户数据与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
如图17所示,在一个实施例中,移动模块510还包括:
第二移出模块514,用于获取第二滑动指令,将第一用户消息数据块移出第一缓存区,进入空白消息数据块获取模块520,进入第一移入模块512。
如图18所示,在一个实施例中,消息数据处理装置还包括:
初始用户数据获取模块540,用于从消息记录集中获取预设数目的用户消息内容,并根据用户消息内容对应的用户标识获取对应的3D用户标识数据。
初始用户数据块生成模块550,用于建立预设数目的空白消息数据块,将预设数目的用户消息内容以及对应的3D用户标识数据与预设数目的空白消息数据块绑定生成预设数目的初始用户消息数据块,将初始用户消息数据块放入滑动窗口内。
滑动指令生成模块560,用于根据初始用户消息数据块生成初始用户界面,根据作用于初始用户界面的滑动操作生成滑动指令。
在一个实施例中,重用更新模块530还用于检测当前消息数据缓存池中的空白消息数据块的数目是否超过预设数目阈值,若是,则直接丢弃当前得到的空白消息数据块,若否,则将空白消息数据块回收进入消息数据块缓存池中。
在一个实施例中,当前显示区域对应的用户界面层级包括根节点、可视区域和可滑动区域,可滑动区域中包括根据滑动窗口的长度确定的用户消息数据块,将用户消息数据块在用户界面的停靠中心点设置为靠左。
如图19所示,在一个实施例中,消息数据处理装置还包括:
消息更新模块610,用于实时接收更新的用户消息,根据更新后的用户消息数目更改用户界面层级中可滑动区域的宽度。
存储模块620,用于并将接收到的更新的用户消息内容按照时间戳的先后顺序依次存储到消息记录集中。
如图20所示,在一个实施例中,滑动窗口包括显示区域和层叠区域,重用更新模块530还包括:
第三移入模块534,用于获取层叠区域头部对应的第一层叠用户消息数据块,将第一层叠用户消息数据块移入显示区域。
第二用户数据获取模块535,用于从消息记录集中获取层叠区域尾部对应的第二层叠用户消息数据块对应的下一个用户数据。
第二用户消息数据块生成模块536,用于从消息数据块缓存池中获取空白消息数据块,并将下一个用户数据与空白数据块绑定生成下一个用户消息数据块。
第二消息数据块更新模块537,用于将下一个用户消息数据块移入层叠区域尾部。
在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机可执行指令,计算机可执行指令被处理器执行时,使得处理器执行以下步骤:获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;如果存在移出滑动窗口内的第一用户消息数据块,则清除第一用户消息数据块绑定的第一用户数据,第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;将空白消息数据块回收进入消息数据块缓存池中,更新位于滑动窗口内的用户消息数据块,空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
上述计算机可读存储介质,通过获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块,如果第一用户消息数据块移出到滑动窗口外,则清除用户消息数据块绑定的第一用户数据,得到空白消息数据块,将得到的空白消息数据块回收进入消息数据块缓存池,更新位于滑动窗口内的用户消息数据块,并且回收进入消息数据块缓存池的空白消息数据块能够与第二用户数据绑定生成第二用户消息数据块。通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块展示当前3D会话对应的全部会话消息,优化了系统内存。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:从消息记录集中获取滑动窗口尾部用户消息数据块对应的用户数据之后的第三用户数据;从消息数据块缓存池中获取空白消息数据块,并将第三用户数据与空白消息数据块绑定生成第三用户消息数据块;将第三用户消息数据块移入滑动窗口内。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取第一滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区;将第二缓存区中的待移入用户消息数据块移动到滑动窗口内;从消息记录集中获取待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从消息数据块缓存池中获取空白消息数据块;将下一个用户数据与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取第二滑动指令,将第一用户消息数据块移出第一缓存区,进入清除第一用户消息数据块绑定的第一用户数据的步骤;进入将第二缓存区中的待移入用户消息数据块移动到滑动窗口内的步骤。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:从消息记录集中获取预设数目的用户消息内容,并根据用户消息内容对应的用户标识获取对应的3D用户标识数据;建立预设数目的空白消息数据块,将预设数目的用户消息内容以及对应的3D用户标识数据与预设数目的空白消息数据块绑定生成预设数目的初始用户消息数据块,将初始用户消息数据块放入滑动窗口内;根据初始用户消息数据块生成初始用户界面,根据作用于初始用户界面的滑动操作生成滑动指令。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:检测当前消息数据缓存池中的空白消息数据块的数目是否超过预设数目阈值;若是,则直接丢弃当前得到的空白消息数据块;若否,则将空白消息数据块回收进入消息数据块缓存池中。
在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:当前显示区域对应的用户界面层级包括根节点、可视区域和可滑动区域,可滑动区域中包括根据滑动窗口的长度确定的用户消息数据块;将用户消息数据块在用户界面的停靠中心点设置为靠左。在一个实施例中,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:实时接收更新的用户消息,根据更新后的用户消息数目更改用户界面层级中可滑动区域的宽度;并将接收到的更新的用户消息内容按照时间戳的先后顺序依次存储到消息记录集中。
在一个实施例中,滑动窗口包括显示区域和层叠区域,计算机可执行指令被处理器执行时,还使得处理器执行以下步骤:获取层叠区域头部对应的第一层叠用户消息数据块,将第一层叠用户消息数据块移入显示区域;从消息记录集中获取层叠区域尾部对应的第二层叠用户消息数据块对应的下一个用户数据;从消息数据块缓存池中获取空白消息数据块,并将下一个用户数据与空白消息数据块绑定生成下一个用户消息数据块;将下一个用户消息数据块移入层叠区域尾部。
在一个实施例中,还提供一种计算机设备,包括存储器和处理器,存储器中储存有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行以下步骤:获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;如果存在移出滑动窗口内的第一用户消息数据块,则清除第一用户消息数据块绑定的第一用户数据,第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;将空白消息数据块回收进入消息数据块缓存池中,更新位于滑动窗口内的用户消息数据块,空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
上述计算机设备,通过获取滑动指令,根据滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块,如果第一用户消息数据块移出到滑动窗口外,则清除用户消息数据块绑定的第一用户数据,得到空白消息数据块,将得到的空白消息数据块回收进入消息数据块缓存池,更新位于滑动窗口内的用户消息数据块,并且回收进入消息数据块缓存池的空白消息数据块能够与第二用户数据绑定生成第二用户消息数据块。通过对空白消息数据块的回收和重复使用,能够使用有限的空白消息数据块展示当前3D会话对应的全部会话消息,优化了系统内存。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:从消息记录集中获取滑动窗口尾部用户消息数据块对应的用户数据之后的第三用户数据;从消息数据块缓存池中获取空白消息数据块,并将第三用户数据与空白消息数据块绑定生成第三用户消息数据块;将第三用户消息数据块移入滑动窗口内。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:获取第一滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区;将第二缓存区中的待移入用户消息数据块移动到滑动窗口内;从消息记录集中获取待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从消息数据块缓存池中获取空白消息数据块;将下一个用户数据与空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:获取第二滑动指令,将第一用户消息数据块移出第一缓存区,进入清除第一用户消息数据块绑定的第一用户数据的步骤;进入将第二缓存区中的待移入用户消息数据块移动到滑动窗口内的步骤。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:从消息记录集中获取预设数目的用户消息内容,并根据用户消息内容对应的用户标识获取对应的3D用户标识数据;建立预设数目的空白消息数据块,将预设数目的用户消息内容以及对应的3D用户标识数据与预设数目的空白消息数据块绑定生成预设数目的初始用户消息数据块,将初始用户消息数据块放入滑动窗口内;根据初始用户消息数据块生成初始用户界面,根据作用于初始用户界面的滑动操作生成滑动指令。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:检测当前消息数据缓存池中的空白消息数据块的数目是否超过预设数目阈值;若是,则直接丢弃当前得到的空白消息数据块;若否,则将空白消息数据块回收进入消息数据块缓存池中。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:当前显示区域对应的用户界面层级包括根节点、可视区域和可滑动区域,可滑动区域中包括根据滑动窗口的长度确定的用户消息数据块;将用户消息数据块在用户界面的停靠中心点设置为靠左。
在一个实施例中,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:实时接收更新的用户消息,根据更新后的用户消息数目更改用户界面层级中可滑动区域的宽度;并将接收到的更新的用户消息内容按照时间戳的先后顺序依次存储到消息记录集中。
在一个实施例中,滑动窗口包括显示区域和层叠区域,计算机可读指令被处理器执行时,还使得处理器执行以下步骤:获取层叠区域头部对应的第一层叠用户消息数据块,将第一层叠用户消息数据块移入显示区域;从消息记录集中获取层叠区域尾部对应的第二层叠用户消息数据块对应的下一个用户数据;从消息数据块缓存池中获取空白消息数据块,并将下一个用户数据与空白消息数据块绑定生成下一个用户消息数据块;将下一个用户消息数据块移入层叠区域尾部。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (15)
1.一种消息数据处理方法,所述方法包括:
获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;
如果存在移出所述滑动窗口内的第一用户消息数据块,则清除所述第一用户消息数据块绑定的第一用户数据,所述第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;
将所述空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,所述空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
2.根据权利要求1所述的方法,其特征在于,所述更新位于所述滑动窗口内的用户消息数据块的步骤包括:
从消息记录集中获取所述滑动窗口尾部用户消息数据块对应的用户数据之后的第三用户数据;
从所述消息数据块缓存池中获取空白消息数据块,并将所述第三用户数据与所述空白消息数据块绑定生成第三用户消息数据块;
将所述第三用户消息数据块移入所述滑动窗口内。
3.根据权利要求1所述的方法,其特征在于,所述滑动窗口头部和尾部对应的边缘分别包括第一缓存区和第二缓存区;所述获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块的步骤包括:
获取第一滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区;
将第二缓存区中的待移入用户消息数据块移动到滑动窗口内;
从消息记录集中获取所述待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从所述消息数据块缓存池中获取空白消息数据块;
将所述下一个用户数据与所述空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取第二滑动指令,将所述第一用户消息数据块移出所述第一缓存区,进入所述清除所述第一用户消息数据块绑定的第一用户数据的步骤;
进入所述将第二缓存区中的待移入用户消息数据块移动到滑动窗口内的步骤。
5.根据权利要求1所述的方法,其特征在于,所述获取滑动指令的步骤之前包括:
从所述消息记录集中获取预设数目的用户消息内容,并根据所述用户消息内容对应的用户标识获取对应的3D用户标识数据;
建立预设数目的空白消息数据块,将预设数目的用户消息内容以及对应的3D用户标识数据与所述预设数目的空白消息数据块绑定生成预设数目的初始用户消息数据块,将所述初始用户消息数据块放入所述滑动窗口内;
根据所述初始用户消息数据块生成初始用户界面,根据作用于初始用户界面的滑动操作生成滑动指令。
6.根据权利要求1所述的方法,其特征在于,所述将所述空白消息数据块回收进入消息数据缓存池中的步骤包括:
检测当前所述消息数据缓存池中的空白消息数据块的数目是否超过预设数目阈值;
若是,则直接丢弃当前得到的所述空白消息数据块;
若否,则将所述空白消息数据块回收进入消息数据块缓存池中。
7.根据权利要求1所述的方法,其特征在于,所述当前显示区域对应的用户界面层级包括根节点、可视区域和可滑动区域,所述可滑动区域中包括根据所述滑动窗口的长度确定的用户消息数据块;
将所述用户消息数据块在用户界面的停靠中心点设置为靠左。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
实时接收更新的用户消息,根据更新后的用户消息数目更改所述用户界面层级中可滑动区域的宽度;
并将接收到的更新的用户消息内容按照时间戳的先后顺序依次存储到消息记录集中。
9.根据权利要求1所述的方法,其特征在于,所述滑动窗口包括显示区域和层叠区域,所述更新位于所述滑动窗口内的用户消息数据块的步骤还包括:
获取所述层叠区域头部对应的第一层叠用户消息数据块,将所述第一层叠用户消息数据块移入所述显示区域;
从所述消息记录集中获取所述层叠区域尾部对应的第二层叠用户消息数据块对应的下一个用户数据;
从所述消息数据块缓存池中获取空白消息数据块,并将所述下一个用户数据与所述空白消息数据块绑定生成下一个用户消息数据块;
将所述下一个用户消息数据块移入所述层叠区域尾部。
10.一种消息数据处理装置,其特征在于,所述装置包括:
移动模块,用于获取滑动指令,根据所述滑动指令移动当前显示区域对应的滑动窗口内的用户消息数据块;
空白消息数据块获取模块,用于如果存在移出所述滑动窗口内的第一用户消息数据块,则清除所述第一用户消息数据块绑定的第一用户数据,所述第一用户数据包括第一消息内容和第一3D用户标识数据,得到空白消息数据块;
重用更新模块,用于将所述空白消息数据块回收进入消息数据块缓存池中,更新位于所述滑动窗口内的用户消息数据块,所述空白消息数据块用于与第二用户数据绑定生成第二用户消息数据块。
11.根据权利要求10所述的装置,其特征在于,所述重用更新模块包括:
第一用户数据获取模块,用于从消息记录集中获取所述滑动窗口尾部用户消息数据块对应的用户数据之后的第三用户数据;
第一用户消息数据块生成模块,用于从所述消息数据块缓存池中获取空白消息数据块,并将所述第三用户数据与所述空白消息数据块绑定生成第三用户消息数据块;
第一消息数据块更新模块,用于将所述第三用户消息数据块移入所述滑动窗口内。
12.根据权利要求10所述的装置,其特征在于,所述滑动窗口头部和尾部对应的边缘分别包括第一缓存区和第二缓存区;所述移动模块包括:
第一移出模块,用于获取第一滑动指令,将滑动窗口头部的第一用户消息数据块移动到第一缓存区;
第一移入模块,用于将第二缓存区中的待移入用户消息数据块移动到滑动窗口内;
更新模块,用于从消息记录集中获取所述待移入用户消息数据块绑定的用户数据对应的下一个用户数据,并从所述消息数据块缓存池中获取空白消息数据块,将所述下一个用户数据与所述空白消息数据块绑定生成新的待移入用户消息数据块,并存储在第二缓存区。
13.根据权利要求10所述的装置,其特征在于,所述滑动窗口包括显示区域和层叠区域,所述重用更新模块还包括:
第三移入模块,用于获取所述层叠区域头部对应的第一层叠用户消息数据块,将所述第一层叠用户消息数据块移入所述显示区域;
第二用户数据获取模块,用于从所述消息记录集中获取所述层叠区域尾部对应的第二层叠用户消息数据块对应的下一个用户数据;
第二用户消息数据块生成模块,用于从所述消息数据块缓存池中获取空白消息数据块,并将所述下一个用户数据与所述空白消息数据块绑定生成下一个用户消息数据块;
第二消息数据块更新模块,用于将所述下一个用户消息数据块移入所述层叠区域尾部。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,使得所述处理器执行权利要求1至9中任一项所述方法的步骤。
15.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中储存有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行权利要求1至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710379728.3A CN108958572B (zh) | 2017-05-25 | 2017-05-25 | 消息数据处理方法、装置、存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710379728.3A CN108958572B (zh) | 2017-05-25 | 2017-05-25 | 消息数据处理方法、装置、存储介质和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108958572A true CN108958572A (zh) | 2018-12-07 |
CN108958572B CN108958572B (zh) | 2022-12-16 |
Family
ID=64493967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710379728.3A Active CN108958572B (zh) | 2017-05-25 | 2017-05-25 | 消息数据处理方法、装置、存储介质和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108958572B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012165A (zh) * | 2019-03-29 | 2019-07-12 | 上海掌门科技有限公司 | 一种呈现会话列表页面的方法与设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538324A (zh) * | 2003-04-16 | 2004-10-20 | ��Ϊ��������˾ | 一种提高数据处理效率的方法 |
CN101102286A (zh) * | 2006-07-05 | 2008-01-09 | 阿里巴巴公司 | 一种在即时通信系统中引用用户信息的方法及装置 |
CN101950235A (zh) * | 2010-08-23 | 2011-01-19 | 中兴通讯股份有限公司 | 一种实现触摸屏界面滑动的方法和终端 |
WO2015010555A1 (zh) * | 2013-07-23 | 2015-01-29 | 华为技术有限公司 | 数据分块方法及装置 |
CN106331148A (zh) * | 2016-09-14 | 2017-01-11 | 郑州云海信息技术有限公司 | 一种客户端数据读取时的缓存管理方法及其装置 |
-
2017
- 2017-05-25 CN CN201710379728.3A patent/CN108958572B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1538324A (zh) * | 2003-04-16 | 2004-10-20 | ��Ϊ��������˾ | 一种提高数据处理效率的方法 |
CN101102286A (zh) * | 2006-07-05 | 2008-01-09 | 阿里巴巴公司 | 一种在即时通信系统中引用用户信息的方法及装置 |
CN101950235A (zh) * | 2010-08-23 | 2011-01-19 | 中兴通讯股份有限公司 | 一种实现触摸屏界面滑动的方法和终端 |
WO2015010555A1 (zh) * | 2013-07-23 | 2015-01-29 | 华为技术有限公司 | 数据分块方法及装置 |
CN104348571A (zh) * | 2013-07-23 | 2015-02-11 | 华为技术有限公司 | 数据分块方法及装置 |
CN106331148A (zh) * | 2016-09-14 | 2017-01-11 | 郑州云海信息技术有限公司 | 一种客户端数据读取时的缓存管理方法及其装置 |
Non-Patent Citations (1)
Title |
---|
吴丽彬 等: "嵌入式μCGUI图像自适应滑动窗口的实现", 《计算机工程与应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110012165A (zh) * | 2019-03-29 | 2019-07-12 | 上海掌门科技有限公司 | 一种呈现会话列表页面的方法与设备 |
CN110012165B (zh) * | 2019-03-29 | 2021-05-18 | 上海掌门科技有限公司 | 一种呈现会话列表页面的方法与设备、可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108958572B (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102238205B1 (ko) | 엔트리들을 위한 옵트-인 영속성을 갖는 메시지 스레드를 유지하는 장치 및 방법 | |
CN106648391B (zh) | 笔迹同步的方法、装置及系统 | |
CN105611215A (zh) | 一种视频通话方法及装置 | |
CN104780338A (zh) | 一种即时视频中的表情特效动画加载方法和电子设备 | |
CN110134481A (zh) | 一种页面处理方法、装置以及相关设备 | |
CN103747362A (zh) | 一种截取视频片段的方法和装置 | |
CN104780339A (zh) | 一种即时视频中的表情特效动画加载方法和电子设备 | |
CN105554430B (zh) | 一种视频通话方法、系统及装置 | |
CN102968274A (zh) | 一种在移动设备中自由截屏的方法和系统 | |
CN105975274A (zh) | 一种应用于Android平台的显示窗口的方法和装置 | |
CN112269508B (zh) | 显示方法、装置和电子设备 | |
CN106454199B (zh) | 一种视频通信方法及移动终端 | |
CN109634599A (zh) | 页面视图的显示方法、装置、设备及存储介质 | |
CN102298491B (zh) | 嵌入式图形界面系统及其图像生成方法 | |
CN109144652A (zh) | 一种视图显示方法、装置、电子设备及存储介质 | |
CN108509272A (zh) | 将gpu显存纹理拷贝到系统内存的方法、装置及电子设备 | |
CN108235100A (zh) | 多屏显示方法、装置及系统 | |
CN108986009A (zh) | 图片的生成方法、装置及电子设备 | |
CN105763716A (zh) | 一种短信处理方法及短信处理终端 | |
CN110019058A (zh) | 文件操作的共享方法和装置 | |
CN105407148B (zh) | 一种基于客户端的网络数据同步的方法、装置以及系统 | |
CN113157366A (zh) | 动画播放方法、装置、电子设备和存储介质 | |
CN105516638A (zh) | 一种视频通话方法、装置和系统 | |
CN105407313A (zh) | 一种视频通话方法、设备和系统 | |
CN108092873B (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 |