列表加载方法、装置、设备及计算机可读存储介质与流程

文档序号:17488629发布日期:2019-04-23 20:12阅读:160来源:国知局
列表加载方法、装置、设备及计算机可读存储介质与流程

本发明涉及移动终端技术领域,尤其涉及一种列表加载方法、装置、设备及计算机可读存储介质。



背景技术:

列表是现在app中非常常见的控件,目前,列表项中通常包含有大量的图片,在列表的滚动过程中,只要是进入屏幕显示区域的图片都会被加载,但是,并不是所有被加载的图片用户都能浏览到,同步加载用户不浏览的图片会耗费过多的网络流量,以及导致系统资源消耗过大,过多地占用系统内存,影响系统运行性能。



技术实现要素:

本发明的主要目的在于提供一种列表加载方法、装置、设备及计算机可读存储介质,旨在解决列表滚动过程中图片全部加载导致的网络流量及系统内存资源浪费的问题。

为实现上述目的,本发明提供一种列表加载方法,所述列表加载方法包括:

当检测到用户基于列表的滑动操作时,对所述列表的滚动速度进行检测;

基于所述列表的滚动速度确定当所述列表停止滚动时出现在屏幕显示区域的列表项;

加载所述列表项对应的图片,并在所述列表停止滚动时,在屏幕显示区域中显示所述列表项对应的图片。

可选地,所述当检测到用户基于列表的滑动操作时,对所述列表的滚动速度进行检测的步骤包括:

当检测到用户基于列表的滑动操作时,获取所述列表的滚动距离以及滚动时间;

基于所述列表的滚动距离以及滚动时间,确定所述列表的滚动速度。

可选地,所述基于所述列表的滚动距离以及滚动时间,确定所述列表的滚动速度的步骤之后,还包括:

基于所述列表的滚动时间以及所述滚动速度,确定所述列表的滚动加速度。

可选地,所述基于所述列表的滚动速度确定当所述列表停止滚动时出现在屏幕显示区域的列表项的步骤包括:

基于所述列表的滚动速度及所述列表的滚动加速度,判断所述列表的滚动是否临近停止;

若是,则基于所述列表的滚动速度及滚动加速度确定所述列表停止滚动前的滑行距离,并基于所述滑行距离确定所述列表停止滚动时出现在屏幕显示区域的列表项。

可选地,所述基于所述列表的滚动速度及所述列表的滚动加速度,判断所述列表的滚动是否临近停止的步骤包括:

判断所述列表的滚动加速度是否为负;

若是,则判断所述列表的滚动速度是否小于第一速度阈值。

可选地,所述判断所述列表的滚动加速度是否为负的步骤之后,还包括:

若所述列表的滚动加速度为正,则判断所述列表的滚动速度是否大于第二速度阈值;

若是,则获取预设默认图片,并在所述列表的当前滚动过程中在屏幕显示区域内显示所述预设默认图片。

可选地,所述基于所述列表的滚动速度及滚动加速度确定所述列表停止滚动前的滑行距离,并基于所述滑行距离确定所述列表停止滚动时出现在屏幕显示区域的列表项的步骤包括:

获取预设算法,并基于所述预设算法,根据所述列表的滚动速度及滚动加速度计算所述列表停止滚动前的滑行距离;

根据所述滑行距离以及当前出现在屏幕显示区域内的列表项,确定当列表停止滚动时出现在屏幕显示区域的列表项。

此外,为实现上述目的,本发明还提供一种列表加载装置,所述列表加载装置包括:

滚动速度检测模块,用于当检测到用户基于列表的滑动操作时,对所述列表的滚动速度进行检测;

列表项确定模块,用于基于所述列表的滚动速度确定当所述列表停止滚动时出现在屏幕显示区域的列表项;

图片显示模块,用于加载所述列表项对应的图片,并在所述列表停止滚动时,在屏幕显示区域中显示所述列表项对应的图片。

此外,为实现上述目的,本发明还提供一种列表加载装置,所述列表加载装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的列表加载程序,所述列表加载程序被所述处理器执行时实现如上所述的列表加载方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有列表加载程序,所述列表加载程序被处理器执行时实现如上所述的列表加载方法的步骤。

本发明提出的一种列表加载方法,通过检测用户基于列表的滑动操作,对列表的滚动速度进行计算,并根据列表的滚动速度,确定当列表停止滚动时会出现在屏幕显示区域的列表项,加载该列表项对应的图片,以便在列表停止滚动时,将该列表项对应的图片显示在屏幕显示区域中。通过本发明提出的列表加载方法,对列表滚动速度进行监控,并预判列表停止滚动时会出现在屏幕显示区域的列表项,以便提前加载对应列表项的图片,节省了网络流量和内存使用,也提高了用户的使用体验。

附图说明

图1为本发明实施例方案中涉及的列表加载设备的硬件结构示意图;

图2为本发明列表加载方法第一实施例的流程示意图;

图3为图2中的步骤s10的细化流程示意图;

图4为本发明列表加载方法第二实施例的流程示意图;

图5为图4中的步骤s21的细化流程示意图;

图6为本发明列表加载装置第一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例的主要解决方案是:当检测到用户基于列表的滑动操作时,对所述列表的滚动速度进行检测;基于所述列表的滚动速度确定当所述列表停止滚动时出现在屏幕显示区域的列表项;加载所述列表项对应的图片,并在所述列表停止滚动时,在屏幕显示区域中显示所述列表项对应的图片。通过本发明实施例的技术方案,解决了列表滚动过程中图片全部加载导致的网络流量及系统内存资源浪费的问题。

如图1所示,图1为本发明实施例方案中涉及的列表加载设备的硬件结构示意图。

本发明实施例涉及的列表加载方法主要应用于列表加载设备,该列表加载设备可以是pc、便携计算机、移动终端等具有显示和处理功能的设备。

如图1所示,该列表加载设备可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,列表加载设备还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wi-fi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。当然,图片压缩设备还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的列表加载设备结构并不构成对列表加载设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及列表加载程序。在图1中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001、存储器1005可以设置在列表加载装置中,所述列表加载装置通过处理器1001调用存储器1005中存储的列表加载程序,并执行本发明实施例提供的列表加载方法。

本实施例提供的方案,通过检测用户基于列表的滑动操作,对列表的滚动速度进行计算,并根据列表的滚动速度,确定当列表停止滚动时会出现在屏幕显示区域的列表项,加载该列表项对应的图片,以便在列表停止滚动时,将该列表项对应的图片显示在屏幕显示区域中。通过本发明提出的列表加载方法,对列表滚动速度进行监控,并预判列表停止滚动时会出现在屏幕显示区域的列表项,以便提前加载对应列表项的图片,节省了网络流量和内存使用,也提高了用户的使用体验。

基于上述硬件结构,提出本发明列表加载方法实施例。

参照图2,图2为本发明列表加载方法第一实施例的流程示意图,在该实施例中,所述方法包括:

步骤s10,当检测到用户基于列表的滑动操作时,对所述列表的滚动速度进行检测;

步骤s20,基于所述列表的滚动速度确定当所述列表停止滚动时出现在屏幕显示区域的列表项;

步骤s30,加载所述列表项对应的图片,并在所述列表停止滚动时,在屏幕显示区域中显示所述列表项对应的图片。

列表是现在app中非常常见的控件,目前,列表项中通常包含有大量的图片,在列表的滚动过程中,只要是进入屏幕显示区域的图片都会被加载,但是,并不是所有被加载的图片用户都能浏览到,同步加载用户不浏览的图片会耗费过多的网络流量,以及导致系统资源消耗过大,过多地占用系统内存,影响系统运行性能。

为了解决现有技术中列表滚动过程中加载全部图片导致的网络流量以及系统内存资源浪费的问题,本发明提出了一种列表加载方法,通过在列表滚动的过程中,对列表的滚动速度进行检测,通过对列表滚动速度的检测,确定当列表停止滚动时会出现在屏幕显示区内的列表项,并提前加载该列表项所对应的图片,以便在列表真正停止滚动时,将该列表项所对应的图片显示在屏幕显示区内,降低了过多的网络流量加载和系统内存的消耗。

在本实施例中,当检测到列表开始滚动时,即检测到用户基于触摸屏的滑动操作时,对列表的滚动速度进行监控,通过用户基于列表的滑动操作确定列表的滚动速度。

具体地,如图3所示,所述步骤s10包括:

步骤s11,当检测到用户基于列表的滑动操作时,获取所述列表的滚动距离以及滚动时间;

步骤s12,基于所述列表的滚动距离以及滚动时间,确定所述列表的滚动速度。

在检测到列表开始滚动时,即检测到用户的触屏操作时,即可触发onscrolllistener来监听列表的滚动,在列表滚动的过程中,会不断地触发该监听事件,这样就可以通过监听得到每次列表滚动时的距离和时间,通过该距离和时间即可得到列表的滚动速度以及滚动加速度。具体计算方法如下:

v0=(s1-s0)/(t1-t0)

a0=(v1-v0)/(t1-t0)

其中,t0和t1表示触发监听的两个连续的时刻,s0和s1表示触发监听时所检测到的对应的列表滚动距离,若s等于0,则表示距离为0,即当前列表未滚动,通过检测列表的滚动距离以及滚动时间,即可确定当前列表的滚动速度;v0和v1表示两个连续时刻的滚动速度,则a0表示列表滚动的加速度。因此,当v1-v0<0时,表明滚动加速度a0为负数,即列表的滚动速度降低;反之,则加速度a0为正数,表明列表的滚动速度加快。

进一步地,通过检测得到的列表滚动速度,来确定是否对屏幕显示区域内出现的列表项对应的图片进行加载。具体地,是通过列表滚动速度的大小,以及滚动加速度的正负来判定的。

具体地,根据上述滚动速度以及滚动加速度的计算公式可知,当滚动加速度a为负数时,表示列表的滚动速度降低;反之,滚动加速度a为正数时,表明列表的滚动速度加快。通过检测及计算确定当前列表的滚动速度以及滚动加速度后,如果当前列表滚动的加速度a为负数,表明列表的滚动速度降低,同时如果检测到列表的滚动速度小于预设的滚动阈值,即可确定列表的滚动临近停止。

进一步地,当确定列表滚动临近停止时,通过列表滚动临近停止前的滚动速度以及滚动加速度,即可计算出当列表实际上完全停止滚动时将出现在屏幕显示区域内的列表项。通过在列表实际停止滚动前,确定将会出现的列表项,即可提前加载该列表项对应的图片,满足了用户的使用体验,又节约了网络流量和内存使用。

在本实施例中,通过检测用户基于列表的滑动操作,对列表的滚动速度进行计算,并根据列表的滚动速度,确定当列表停止滚动时会出现在屏幕显示区域的列表项,加载该列表项对应的图片,以便在列表停止滚动时,将该列表项对应的图片显示在屏幕显示区域中。通过本发明提出的列表加载方法,对列表滚动速度进行监控,并预判列表停止滚动时会出现在屏幕显示区域的列表项,以便提前加载对应列表项的图片,节省了网络流量和内存使用,也提高了用户的使用体验。

进一步的,参照图4,基于上述实施例,提出本发明列表加载方法第二实施例,在本实施例中,所述步骤s20包括:

步骤s21,基于所述列表的滚动速度及所述列表的滚动加速度,判断所述列表的滚动是否临近停止;若是,则执行步骤s22;

步骤s22,基于所述列表的滚动速度及滚动加速度确定所述列表停止滚动前的滑行距离,并基于所述滑行距离确定所述列表停止滚动时出现在屏幕显示区域的列表项。

在本实施例中,首先通过列表的滚动速度及列表的滚动加速度,判断当前列表滚动是否临近停止,若是,则进一步地确定列表停止滚动时出现在屏幕显示区域的列表项。

具体地,如图5所示,所述步骤s21包括:

步骤s211,判断所述列表的滚动加速度是否为负;

步骤s212,若是,则判断所述列表的滚动速度是否小于第一速度阈值。

具体地,通过检测及计算确定当前列表的滚动速度以及滚动加速度后,首先,对该列表的滚动加速度是否为负进行判断,滚动加速度为负,表示列表的滚动速度降低;滚动加速度为正,表示列表的滚动速度加快。如果确定列表的滚动加速度是为负,则进一步地判断列表的滚动速度是否小于第一速度阈值,如果是,即可判定当前列表滚动临近停止。例如,当滚动加速度为负数,且当前滚动速度v小于或等于10-15px/s,即小于或等于10-15像素每秒时,即可判定列表滚动临近停止。

进一步地,所述步骤s211之后,还包括:

步骤a,若所述列表的滚动加速度为正,则判断所述列表的滚动速度是否大于第二速度阈值;若是,则执行步骤b;

步骤b,获取预设图片,并将当前滚动过程中屏幕显示区域中出现的列表项。

进一步地,如果列表的滚动加速度为正,表明当前列表的滚动速度加快,则进一步地判断列表的滚动速度是否大于第二速度阈值,以此来判定是否对滚动过程中出现在屏幕显示区域内的列表项进行对应的图片显示。

具体地,如果当前的滚动加速度为正数,且列表的滚动速度大于第二速度阈值,则判定当前列表滚动速度快,即用户滑动列表的速度过快。因此,对于此时列表滑动过程中出现在屏幕显示区域内的列表项所对应的图片,可以不予显示,因为用户在滑动列表过程中并未浏览该图片,因此可以用默认的图片代为显示,避免了使用网络流量下载图片或从系统文件中加载图片,节约了网络流量和内存的使用。

进一步地,所述步骤s22包括:

步骤c,获取预设算法,并基于所述预设算法,根据所述列表的滚动速度及滚动加速度计算所述列表停止滚动前的滑行距离;

步骤d,根据所述滑行距离以及当前出现在屏幕显示区域内的列表项,确定当列表停止滚动时出现在屏幕显示区域的列表项。

在本实施例中,当判定列表的当前滚动满足上述所说的临近停止条件时,进一步地,再通过减速曲线函数预判当列表停止滚动时屏幕显示区域中可能显示的列表项。具体方法如下:根据列表滚动临近停止时的滚动加速度a以及滚动速度v,对列表还能滑行的距离进行计算,计算公式如下:

vt*vt-v0*v0=2as

其中,vt就是当前的滚动速度v,v0在此时为0,表示列表停止滚动,a就是当前的加速度。因此,上述计算剩余滑行距离的公式还可以表示成s=vt*vt/2a,但是由于滚动加速度a并不是恒定的,而是递减的,因此,还需要根据列表的实际滚动情况对系数c进行调节,以使得最终s’=cs。

通过上述计算公式,即可确定列表停止滚动前的滑行距离,根据该滑行距离,即可对应确定将会出现在屏幕显示区域的列表项,提前加载该列表项对应的图片,以便在列表停止滚动时,在屏幕显示区域中快速显示该列表项对应的图片。

在本实施例中,基于列表的滚动速度及滚动加速度判断列表的滚动是否临近停止,具体地,是通过判断列表滚动加速度的正负、列表的滚动速度是否小于第一速度阈值以及列表的滚动速度是否大于第二速度阈值来确定,当列表的滚动速度大于第二速度阈值且滚动的加速度为正数时,即使滚动中对应的列表项出现在屏幕显示区域内,也不对该列表项的图片进行加载;反之,如果检测到列表的滚动速度小于第一速度阈值,且滚动的加速度为负数,则确定列表滚动临近停止时,通过提前从网络或本地文件中,加载列表滚动停止时出现在屏幕显示区域内的列表项对应的图片,节省了网络流量和内存,相应地提升了app的性能。

此外,本发明实施例还提供一种列表加载装置。

参照图6,图6为本发明列表加载装置第一实施例的功能模块示意图。

本实施例中,所述列表加载装置包括:

滚动速度检测模块10,用于当检测到用户基于列表的滑动操作时,对所述列表的滚动速度进行检测;

列表项确定模块20,用于基于所述列表的滚动速度确定当所述列表停止滚动时出现在屏幕显示区域的列表项;

图片显示模块30,用于加载所述列表项对应的图片,并在所述列表停止滚动时,在屏幕显示区域中显示所述列表项对应的图片。

进一步地,所述滚动速度检测模块10具体包括:

获取单元,用于当检测到用户基于列表的滑动操作时,获取所述列表的滚动距离以及滚动时间;

滚动速度确定单元,用于基于所述列表的滚动距离以及滚动时间,确定所述列表的滚动速度。

进一步地,所述列表加载装置还包括:

滚动加速度确定单元,用于基于所述列表的滚动时间以及所述滚动速度,确定所述列表的滚动加速度。

进一步地,所述列表项确定模块20具体包括:

判断单元,用于基于所述列表的滚动速度及所述列表的滚动加速度,判断所述列表的滚动是否临近停止;

列表项确定单元,用于若是,则基于所述列表的滚动速度及滚动加速度确定所述列表停止滚动前的滑行距离,并基于所述滑行距离确定所述列表停止滚动时出现在屏幕显示区域的列表项。

进一步地,所述判断单元具体包括:

滚动加速度判断子单元,用于判断所述列表的滚动加速度是否为负;

第一速度阈值判断子单元,用于若是,则判断所述列表的滚动速度是否小于第一速度阈值。

进一步地,所述列表加载装置还包括:

第二速度阈值判断单元,用于若所述列表的滚动加速度为正,则判断所述列表的滚动速度是否大于第二速度阈值;

默认图片显示单元,用于若是,则获取预设默认图片,并在所述列表的当前滚动过程中在屏幕显示区域内显示所述预设默认图片。

进一步地,所述列表项确定单元具体包括:

滑行距离计算子单元,用于获取预设算法,并基于所述预设算法,根据所述列表的滚动速度及滚动加速度计算所述列表停止滚动前的滑行距离;

列表项确定子单元,用于根据所述滑行距离以及当前出现在屏幕显示区域内的列表项,确定当列表停止滚动时出现在屏幕显示区域的列表项。

其中,上述列表加载装置中各个模块与上述列表加载方法实施例中各步骤相对应,其功能和实现过程在此处不再一一赘述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有列表加载程序,所述列表加载程序被处理器执行时实现如上所述的列表加载方法的步骤。

其中,列表加载程序被执行时所实现的方法可参照本发明列表加载方法的各个实施例,此处不再赘述。

本实施例提供的方案,通过检测用户基于列表的滑动操作,对列表的滚动速度进行计算,并根据列表的滚动速度,确定当列表停止滚动时会出现在屏幕显示区域的列表项,加载该列表项对应的图片,以便在列表停止滚动时,将该列表项对应的图片显示在屏幕显示区域中。通过本发明提出的列表加载方法,对列表滚动速度进行监控,并预判列表停止滚动时会出现在屏幕显示区域的列表项,以便提前加载对应列表项的图片,节省了网络流量和内存使用,也提高了用户的使用体验。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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