具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1为本申请一实施例提供的加载提示方法的流程,包括:
S101:在数据加载过程开始时调用显示加载提示的API。
上述数据加载过程可以例如是各种应用APP、或网页中进行的数据加载过程。以应用APP为例,一般的数据加载过程可以通过相应的操作来触发,如:触摸特定的按键、或向下滑动触摸屏等。数据加载过程一般可以是由客户端向服务器请求数据的过程,其中,在数据加载过程开始时,客户端可以向服务器发送请求命令,服务器接收到这个来自于客户端的请求命令后,根据请求命令找到相应的数据并将找到的数据传递到上述客户端,至此,数据加载过程结束。
通常可以将加载提示的功能在应用APP中做成一个独立的控件,该控件可以至少包括:显示加载提示的API(Application Programming Interface,应用程序编程接口)及隐藏进度提示的API。其中,显示加载提示的API用以实现相应的进度提示信息的显示动作,隐藏进度提示的API用以实现进度提示信息的隐藏动作。所述加载提示信息包括文字、图片、动画中的一种或多种。在上述数据加载过程开始时即可调用上述显示加载提示的API。
在实际应用中,上述数据加载过程可以是在任意形式的终端上来实现。这些终端可以是电脑、手机、个人数字助理(PDA)等,这些终端可以通过不同类型的网络来实现上述数据加载过程。由于不同类型的网络之间存在数据传递速率的差异,对于数据传递速率较快的网络(如有线网络、无线保真Wi-Fi、4G),上述数据加载过程可能在较短的时间(如0.1秒)内便完成,而对于数据传递速率较慢的网络(如3G、2G),上述数据加载过程可能在稍长的时间(如2秒)内才可以完成。鉴于上述情况,若在调用显示加载提示的API之后立即将相应的加载提示信息(比如一种转动的图标)在页面上进行显示,则对于上述提及的数据传递速率较快的网络而言,上述加载提示信息在界面上所显示的时长可能会非常短,以致于给用户带来一种加载提示信息闪动(一闪而过)的感觉,使得用户体验不佳。举例而言,若终端使用的网络是无线保真Wi-Fi,在某种应用APP上进行数据加载过程(例如:刷新社交网络的信息)中,假设数据加载过程从开始到结束耗用0.1秒,则上述加载提示信息可能至多在界面上维持显示0.1秒,对于人眼而言,0.1秒显然是非常短,从而造成加载提示信息闪动的状况。
S102:判断上述数据加载过程是否在调用显示加载提示的API的时刻之后的预设等待时长内结束。
为解决上述问题,本申请实施例在显示加载提示的API被调用时,并不是立刻触发加载提示信息的显示动作。而是通过等待一段预设等待时长,并通过判断上述数据加载过程是否该预设等待时长内结束,来确定是否需要显示上述加载提示信息。
可选地,在上述步骤S102之前,还可以包括:
S104:确定与调用显示加载提示的API的终端使用的网络类型对应的预设等待时长。
考虑到不同类型的网络的数据传递速率的差异,造成同样的数据加载过程在不同类型的网络下完成时所耗用的时间也会有所差异。为此,本实施例通过识别终端使用的网络类型,并确定与网络类型对应的预设等待时长,从而使得步骤S102中的预设等待时长始终与终端实际使用的网络相适宜。一般可以预设设定每种类型的网络与预设等待时长的对应关系并存储。举例而言,对于有线网络,可以设定与之对应的预设等待时长为0.3秒;对于无线保真Wi-Fi的网络,可以设定与之对应的预设等待时长为0.35秒;对于4G网络,可以设定与之对应的预设等待时长为0.4秒;对于3G/2G网络,可以设定预设等待时长为0秒或1秒。关于上述预设等待时长和网络类型的对应关系,本申请并不作限定,上述预设等待时长可以是任意符合实际需求的估计值。此外,对于一些本身数据传递速率较慢的网络(如3G或2G),因为几乎不存在造成上述加载提示闪动的可能,故可以设定上述预设等待时长为0秒。
S103:若上述数据加载过程未在调用显示加载提示的API的时刻之后的预设等待时长内结束,则在所述预设等待时长之后将加载提示信息进行显示。
本实施例中,当上述数据加载过程结束在预设等待时长(如0.3秒)内结束时,可以表明当前网络的数据加载过程非常快,这一情况并不需要在APP或网页的加载页面上显示加载提示信息,则可以直接将数据加载过程得到的数据在页面进行显示,流程结束。反之,若判定上述数据加载过程并没有在预设等待时长内结束,则可以在所述预设等待时长之后将加载提示信息进行显示。
本申请实施例中,数据加载过程结束时可以调用隐藏加载提示的API,则上述步骤S102可以包括:判断在调用显示加载提示的API的时刻之后的预设等待时长内是否调用隐藏加载提示的API。相应地,上述步骤S103包括:在上述预设等待时长内没有调用隐藏加载提示的API(表明上述数据加载过程未在预设等待时长内结束),则在所述预设等待时长之后将加载提示信息进行显示。当然,在替代的实施例中,可以通过判断是否接收到服务器返回的数据来确定数据加载过程是否结束。
图2为本申请另一实施例提供的加载提示方法的流程,与上述流程的区别在于,本加载提示方法在上述步骤S102之前,还包括:
S105:判断调用显示加载提示的API的终端是否使用预设网络类型。
参上述内容,由于本申请主要是解决在网络速率较快的情况下造成数据加载过程在短时间内完成,进而导致加载提示信息闪动的问题,所以,可以预设设定需要进行预设等待时长的等待机制的前提条件,也就是说,设定当终端使用的网络类型属于预先设定的一种或多种预设网络类型时,触发上述步骤S102的等待动作。举例而言,上述预设网络类型可以包括有线网络、无线保真Wi-Fi、4G,并且可以为上述每一种预设网络类型设定相应的预设等待时长。
相应地,上述步骤S102具体包括:在调用显示加载提示的API的终端使用预设网络类型时,判断所述数据加载过程是否在调用显示加载提示的API的时刻之后的预设等待时长内结束。
基于上述实施例中的加载提示方法,在调用显示加载提示的API之后并没有立刻将加载提示信息进行显示,而是通过判断数据加载过程是否在调用显示加载提示的API的时刻之后的预设等待时长内结束,若没有在上述预设等待时长内结束,再将该加载提示信息进行显示;若数据加载过程在上述预设等待时长内没有结束(即在上述预设等待时长内没有调用隐藏加载提示的API),则会在该预设等待时长结束时刻将相应的加载提示信息在页面上进行显示。直到上述数据加载过程结束并且调用隐藏加载提示的API时,才将已经显示的加载提示信息进行隐藏,转而显示数据加载过程所请求的数据。本方法通过在数据加载过程开启之后设定一段预设等待时长,可以避免因数据加载过程在较短的时间(如小于上述预设等待时长)内完成,而造成在页面上已经显示的加载提示信息会在较短的时间内便被隐藏的问题,从而改善加载提示闪动的状况。
与上述方法流程对应的,本申请的实施例还提供了一种加载提示装置。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过服务器的中央处理器(Central ProcessUnit,CPU)将对应的计算机程序指令读取到内存中运行形成的。
图3为本申请一实施例提供的加载提示装置的模块示意图。其中,该装置中各单元的功能与上述方法中各步骤的功能类似,故该装置可以参照上述方法实施例的具体内容。该加载提示装置包括:
调用单元101,用于在数据加载过程开始时调用显示加载提示的API;
判断单元102,用于判断所述数据加载过程是否在调用显示加载提示的API的时刻之后的预设等待时长内结束;
显示单元103,用于当所述数据加载过程未在调用显示加载提示的API的时刻之后的预设等待时长内结束时,在所述预设等待时长之后将加载提示信息进行显示。
可选地,所述装置还包括:
确定单元104,用于在判断所述数据加载过程是否在调用显示加载提示的API的时刻之后的预设等待时长内结束之前,确定与调用显示加载提示的API的终端使用的网络类型对应的预设等待时长。
可选地,所述判断单元102用于:
在调用显示加载提示的API的终端使用预设网络类型时,判断所述数据加载过程是否在调用显示加载提示的API的时刻之后的预设等待时长内结束。
可选地,所述判断单元102用于:
判断在调用显示加载提示的API的时刻之后的预设等待时长内是否调用隐藏加载提示的API。
可选地,所述数据加载过程包括:应用APP的数据加载过程、或网页的数据加载过程,所述加载提示信息包括文字、图片、动画中的一种或多种。
同理,参上述方法实施例的内容,本装置通过在数据加载过程开启之后设定一段预设等待时长,可以避免因数据加载过程在较短的时间(如小于上述预设等待时长)内完成,而造成在页面上已经显示的加载提示信息会在较短的时间内便被隐藏的问题,从而改善加载提示闪动的状况。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。