一种双向分段加载数据并显示的方法、计算机装置及计算机可读存储介质与流程

文档序号:17440818发布日期:2019-04-17 04:44阅读:160来源:国知局
一种双向分段加载数据并显示的方法、计算机装置及计算机可读存储介质与流程

本发明涉及通讯领域,具体是涉及一种双向分段加载数据并显示的方法,计算机装置以及计算机可读存储介质。



背景技术:

随着通讯技术的发展,针对移动手机收件箱中的信息列表,目前可以从短信信息中将关键信息提取出来,并通过卡片视图的形式显示出来,给予用户一种简单明了、方便快捷获取关键信息的体验。

但是,对短信信息的解析这一过程相对耗时,且经过解析的短信信息在显示界面的列表上显示的视图是卡片视图,没有解析的短信信息在显示界面的列表上显示的视图是普通视图。一般的操作都是先通过普通视图在显示界面的列表上显示短信信息,后台异步对短信信息进行解析,将短信信息转换为能够发送到显示界面的列表上显示卡片视图的数据源,将数据源准备就绪后再通知ui层将数据源发送到显示界面的列表上并将列表上的普通视图更新为卡片视图。但是由于普通视图和卡片视图的高度、宽度不一致,导致ui层在将普通视图切换为卡片视图时高度或宽度会发生跳变,给用户带来较差使用体验。缺少一种提前准备好足够的数据源后能够直接通知ui层显示卡片视图的方法。



技术实现要素:

将本发明的第一目的是提供一种实时加载数据、流畅显示列表的双向分段加载数据并显示的方法。

本发明的第二目的是提供一种能够实现上述一种双向分段加载数据并显示的方法的计算机装置。

本发明的第三目的是提供一种能够实现上述一种双向分段加载数据并显示的方法的计算机可读存储介质。

为了实现上述的第一目的,本发明提供的一种双向分段加载数据并显示的方法包括,在显示界面上显示加载列表后,设定缓存数据使用量的第一阈值,检测到列表滑动后,判断当前实际缓存数据使用量是否大于第一阈值;若当前实际缓存数据使用量大于第一阈值,则根据列表的滑动方向从数据库中读取数据,并将读取的数据发送至缓存器进行缓存,然后再将缓存的数据发送至显示界面的列表上进行显示,每一次从数据库中读取数据并将读取的数据发送至缓存器后,在缓存器中记录一次从数据库中读取数据时的起始位置和结束位置。。

由上述方案可见,在显示界面上显示加载的列表后,初始显示列表只从数据库读取部分数据,由于用户浏览初始显示列表的过程中,会滑动列表进行查看,极有可能出现当前缓存的数据被使用完的情况,这样会导致列表要等待重新从数据中读取,给予用户不好的体验。通过设置缓存数据使用量的第一阈值,当检测到列表滑动过程中的实际缓存数据使用量大于第一阈值,则根据列表的滑动方向提前从数据库读取数据并发送读取到的数据给缓存器缓存,这样,使得列表在滑动过程中有一直都有缓存数据可以及时、流畅的显示。

优选的,每一次从数据库中读取数据并将读取到的数据发送给缓存器后,在缓存器中记录一次从数据库中读取数据时的起始位置和结束位置,这样,下一次从数据库中读取数据时,就在数据库中的前一次结束位置向前或向后读取数据。

进一步的方案是,根据列表的滑动方向从数据库中读取数据包括:从数据库中读取数据的方向与列表的滑动方向对应。

可见,从数据库中读取数据的方向与列表的滑动方向相同,这样,列表在当前位置向前或向后滑动,则根据缓存器中记录的上一次从数据库读取起始位置向前或向后读取数据,能够保证列表滑动的过程中有相应的缓存数据及时的显示,且能减少缓存器的占用量。

进一步的方案是,将缓存的数据发送至显示界面的列表上进行显示后,包括:设定缓存占用量的第二阈值,当检测到缓存器中实际缓存占用量大于所述第二阈值时,则根据当前列表的滑动方向,在缓存器中删除当前所述列表中暂不显示的条目所对应的缓存数据,在缓存器中更新从数据库中读取暂不显示的条目所对应的缓存数据时实际记录的起始位置和结束位置。

可见,随着列表的不断滑动,不断的从数据库中加载数据到缓存器中,因此极有可能出现缓存器中的缓存占用量过高的问题。通过设定缓存占用量的第二阈值,使得缓存器中实际缓存占用量大于第二阈值时,通过删除当前列表中暂不显示的条目所对应的缓存数据,并同步更新在缓存器中记录的从数据库读取暂不显示的条目所对应的缓存数据时记录的起始位置和结束位置,这样,列表需要显示上述暂不显示的条目时,根据数据库中的记录重新加载数据至缓存器。

进一步的方案是,在显示界面上显示加载的列表前,包括:根据列表在显示界面上预设的显示方式确认从数据库中读取数据的起始位置、读取方向、一次性读取量。

可见,在显示界面上显示加载的列表即初始显示列表前,需要根据列表预设的显示方式,在数据库中读取数据的起始位置、读取方向、一次性读取量,这样,根据预设列表的显示方式来确定数据库中读取数据的起始位置、读取方向、一次读取量进行读取足够的数据至缓存器中缓存,达到及时、流畅的显示列表的目的。

进一步的方案是,列表在显示界面上预设的显示方式包括:按照时间顺序从当前显示的列表的第一条条目从前到后开始显示

进一步的方案是,列表在显示界面上预设的显示方式包括:按照时间倒序从列表的最后一条条目从后到前开始显示。

进一步的方案是,列表在显示界面上预设的显示方式包括:从列表中间指定的条目向前或向后显示。

可见,列表在显示界面上的显示方式有三种,从数据库读取数据的方式要与列表在显示界面上的显示方式一致。

进一步的方案是,若当前实际缓存数据使用量小于设定第一阈值,则继续将缓存器中缓存的数据发送至显示界面的列表上进行显示。

可见,当前实际缓存数据使用量没有超过第一阈值,则继续正常的将缓存器中缓存的数据发送至显示界面的列表进行显示。

为了实现上述的第二目的,本发明还提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述的双向分段加载数据并显示的方法的各个步骤。

为了实现上述的第三目的,本发明还提供的计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述双向分段加载数据并显示的方法的各个步骤。

附图说明

图1是本发明一种双向分段加载数据并显示的方法实施例的流程图。

以下结合附图及实例对本发明作进一步说明。

具体实例方式

本发明提供一种双向分段加载数据并显示的方法,应用在能够接收通讯信息例如短信信息的终端设备上,典型的应用在手机等终端设备上。本发明的计算机装置可以是上述的电子设备,计算机可读存储介质可以是具有数据存储功能的各种存储介质,如flaash、eeprom等非易失性存储器。

双向分段加载数据并显示的方法实施例:

本方法首先执行步骤s1,接收短信息并解析。正常情况下由于短信信息的解析是一个过程相对耗时的环节,因此,终端设备收到短信信息就立马进行解析。

接着,执行步骤s2,将解析后的数据按时间先后顺序发送至数据库。这样,在数据库中按时间先后顺序存储有解析后的短信信息。本实施例中,数据库是终端设备自身的数据库,用于存储解析后的短信信息。

然后,执行步骤s3,根据列表在显示界面上的预设的显示方式确认从数据库中读取数据的起始位置、读取方向、一次性读取量。其中,列表预设的显示方式包括按照时间顺序从当前显示的列表的第一条从前到后开始显示、按照时间倒序从列表的最后一条从后到前开始显示、从列表中间指定的条目向前或向后显示。

这样,当列表预设的显示方式为按照时间顺序从当前显示的列表的第一条条目从上到下开始显示时,从数据库中读取数据的起始位置是数据库中的第一条数据、读取方向是从第一条数据开始从前到后读取、一次性读取量是从第一条数据到列表显示的最后一条条目所对应的数据库中的读取的一条数据。

当列表预设的显示方式为按照时间倒序从列表的最后一条条目从后到前开始显示时,从数据库中读取数据的起始位置是数据库中的最后一条数据、读取方向是从最后一条数据从后到前读取、一次性读取量是从最后一条数据到列表显示的第一条条目所对应的数据库中读取的一条数据。

当列表预设的显示方式为从列表中间指定的条目向前或向后显示时,从数据库中读取数据的起始位置是列表中间指定的条目所对应数据库中的读取数据、读取方向是列表中间指定的条目所对应数据库中的读取的一条数据、一次性读取量是列表中间指定的条目所对应数据库中的读取的一条数据到列表第一条条目所对应的数据库中读取的一条数据或列表最后一条条目所对应的数据库中读取的一条数据。

根据列表在显示界面上预设的显示方式确认从数据库中读取数据的起始位置、读取方向、一次性读取量后,从而按确定的读取方式从数据库中读取数据发送至缓存器,使得在列表上显示数据的方式与从数据库中读取数据的方式对应。

优选的,每一次从数据库中读取数据并将读取的数据发送至缓存器后,在缓存器中记录一次从数据中读取数据时的起始位置和结束位置。这样,方便下次从数据库的上一次读取数据的起始位置或结束位置进行读取数据。

接着,执行步骤s4,在显示界面上显示加载的列表。可见,在缓存器中准备好缓存数据后,就可以在终端设备上查看短信信息的显示界面上显示加载的列表,此时直接将解析好的缓存数据发送到显示界面的列表上显示卡片视图。

接着,执行步骤s5,设定缓存使用量的第一阈值,检测到列表滑动。一般情况下,由于在显示界面上显示加载的列表后,初始显示列表时只从数据库中读取部分数据发送到缓存器中缓存,若用户浏览初始显示列表的过程中会滑动列表进行查看,极有可能出现当前缓存器中缓存数据被使用完的情况,使得用户在滑动列表的过程中需要等待数据库重新加载数据至缓存器中。这样,本实施例中,通过设定缓存使用量的第一阈值,使得列表在滑动过程中不会出现缓存器中缓存数据被使用完的情况。

然后,执行步骤s6,判断实际缓存数据使用量是否大于第一阈值。当判断列表滑动过程中实际缓存数据使用量即缓存器中实际发送到列表进行显示的数据量大于第一阈值,则执行步骤s7,根据列表的滑动方向从数据库中读取数据,并将读取的数据发送至缓存器进行缓存。其中,从数据库中读取数据的方向与列表的滑动方向对应,即列表向前或向后滑动时,从数据库的上一次读取数据的起始位置或结束位置开始且与列表滑动方向对应的方向进行向前或向后读取数据,达到列表滑动过程中也能够及时、流畅的显示列表的目的。

接着,执行步骤s8,将缓存器中缓存的数据发送至显示界面的列表上进行显示。

然后,执行步骤s9,设定缓存占用量的第二阈值,当检测到缓存器中实际缓存占用量大于第二阈值时,则根据当前列表的滑动方向,在缓存器中删除当前列表中暂不显示的条目对应的缓存数据。可见,随着列表的不断滑动,不断的从数据库中加载数据到缓存器中,因此极有可能出现缓存器中的缓存占用量过高的问题,通过设定缓存占用量的第二阈值,使得缓存器中实际缓存占用量大于第二阈值时,通过删除当前列表中暂不显示的条目所对应的缓存数据,来解决缓存器中缓存占用量过高的问题。

最后,执行步骤s10,在缓存器中更新从数据库中读取暂不显示的条目所对应的缓存数据时实际记录的起始位置和结束位置。这样,列表需要显示上述暂不显示的条目时,根据缓存器中的记录的从数据库中读取数据的起始位置和结束位置来重新读取之前删除的数据并发送至缓存器进行缓存。

由上述可知,本方法实施例通过设定第二阈值,避免缓存器中缓存占用量出现过大的情况。并通过设定第一阈值,在列表滑动过程中避免出现缓存器发送至列表显示的实际缓存数据不足的情况出现,且实际缓存数据超过设定的第一阈值时,从数据库读取数据的方向与列表滑动的方向对应,使得在列表滑动过程中,能够及时、流畅的显示列表。这样,在终端设备上根据列表显示的方式提前准备好足够的数据,使得在查看短信信息的显示界面上显示的列表可以直接显示卡片视图。

计算机装置实施例:

本实施例的计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,例如用于实现上述信息处理方法的信息处理程序。处理器执行计算机程序时实现上述双向分段加载数据并显示方法的各个步骤。

例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。

需要说明的是,终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,本发明的示意图仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。

本发明所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。

存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

计算机可读存储介质:

终端设备集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述双向分段加载数据并显示方法的各个步骤。

其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1