CN104536787B - 资源预加载方法及装置 - Google Patents

资源预加载方法及装置 Download PDF

Info

Publication number
CN104536787B
CN104536787B CN201410830177.4A CN201410830177A CN104536787B CN 104536787 B CN104536787 B CN 104536787B CN 201410830177 A CN201410830177 A CN 201410830177A CN 104536787 B CN104536787 B CN 104536787B
Authority
CN
China
Prior art keywords
thread
terminal
current network
resource
network resources
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
Application number
CN201410830177.4A
Other languages
English (en)
Other versions
CN104536787A (zh
Inventor
谭国斌
沈建荣
马哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201410830177.4A priority Critical patent/CN104536787B/zh
Publication of CN104536787A publication Critical patent/CN104536787A/zh
Application granted granted Critical
Publication of CN104536787B publication Critical patent/CN104536787B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本公开揭示了一种资源预加载方法及装置,属于互联网技术领域。所述资源预加载方法包括:获取终端的使用参数;根据所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;若根据所述使用参数检测出所述终端未加载所述当前网络资源,则预加载除所述当前网络资源外的网络资源。本公开解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。

Description

资源预加载方法及装置
技术领域
本公开涉及互联网技术领域,特别涉及一种资源预加载方法及装置。
背景技术
目前,在开发网站和应用的过程中,工程师往往会采用预加载技术,提前将所需要的资源从服务器上加载到客户端上,当用户需要访问该资源时,只需要从客户端直接获取该资源,而不需要从服务器端获取,这样减少了用户的等待的时间。
预加载技术一般是在客户端的后台开启一个线程,客户端可以在需要预加载资源时,直接通过该线程从服务器上预先下载需要访问的资源。
发明内容
为了解决相关技术中的问题,本公开提供一种资源预加载方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种资源预加载方法,所述方法包括:
获取终端的使用参数;
根据所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;
若根据所述使用参数检测出所述终端未加载所述当前网络资源,则预加载除所述当前网络资源外的网络资源。
根据本公开实施例的第二方面,提供一种资源预加载装置,所述装置包括:
获取模块,被配置为获取终端的使用参数;
检测模块,被配置为根据所述获取模块获取的所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;
预加载模块,被配置为在所述检测模块根据所述使用参数检测出所述终端未加载所述当前网络资源时,预加载除所述当前网络资源外的网络资源。
根据本公开实施例的第三方面,提供一种资源预加载装置,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取终端的使用参数;
根据所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;
若根据所述使用参数检测出所述终端未加载所述当前网络资源,则预加载除所述当前网络资源外的网络资源。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过在检测出终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源;可以在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种资源预加载方法的流程图;
图2是根据另一示例性实施例示出的一种资源预加载方法的流程图;
图3是根据再一示例性实施例示出的一种资源预加载方法的流程图;
图4是根据又一示例性实施例示出的一种资源预加载方法的流程图;
图5是根据还一示例性实施例示出的一种资源预加载方法的流程图;
图6是根据一示例性实施例示出的一种资源预加载装置的框图;
图7是根据另一示例性实施例示出的一种资源预加载装置的框图;
图8是根据一示例性实施例示出的一种用于预加载资源的装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种资源预加载方法的流程图,如图1所示,该资源预加载方法应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载方法包括以下步骤。
在步骤101中,获取终端的使用参数。
在步骤102中,根据使用参数检测终端是否正在加载当前网络资源,当前网络资源是指终端当前显示的网络资源。
在步骤103中,若根据使用参数检测出终端未加载当前网络资源,则预加载除该当前网络资源外的网络资源。
综上所述,本公开实施例中提供的资源预加载方法,通过在检测出终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源;可以在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
图2是根据另一示例性实施例示出的一种资源预加载方法的流程图,如图2所示,该资源预加载方法应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载方法包括以下步骤。
在步骤201中,通过第一线程检测消息队列中是否存在资源地址,若检测出消息队列中存在资源地址,则获取终端的使用参数。
第一线程用于预加载网络资源。该网络资源是指除终端显示的当前网络资源外的需要预加载的资源。比如,网络资源可以是网页资源,此时,该网页资源可以是当前页面内还未显示的资源,也可以是用户可能浏览的下一个页面的资源;或,网络资源也可以是其它应用程序需要预加载的资源,比如,需要预加载的文字资源、图片资源、音频资源、视频资源等。这里的页面可以是浏览器或者其它应用程序显示的网络页面。
消息队列用于存储需要预加载的网络资源的资源地址。比如,当网络资源是图片时,资源地址可以是该图片的URL(Uniform Resource Locator,统一资源定位符);当网络资源是多媒体文件时,资源地址可以是提供该多媒体文件的提供设备的地址。
使用参数用于表示终端对网络的占用情况,可以是带宽占用率、页面操作等。
终端通过第一线程检测消息队列中是否存在资源地址,当检测到该消息队列中不存在资源地址时,说明当前不存在需要预加载的网络资源,结束流程;当检测到该消息队列中存在资源地址时,说明当前存在需要预加载的网络资源,此时需要预加载该网络资源。
若在确定消息队列中存在资源地址后直接预加载网络资源,此时终端可能正在加载用户浏览的当前网络资源,由于预加载网络资源和加载当前网络资源都需要占用带宽,当预加载网络资源占用了加载当前网络资源的带宽时,会降低当前网络资源的加载速度,从而干扰用户对当前页面的浏览。因此,终端在通过第一线程检测到消息队列中存在资源地址后,需要获取该终端的使用参数,根据该使用参数来确定终端对网络的占用情况,从而判断是否能够预加载网络资源。
在步骤202中,当使用参数是带宽占用率时,检测带宽占用率是否小于占用率阈值。
带宽占用率可以是终端中所有应用程序的带宽占用率,也可以是第一线程所属的应用程序的带宽占用率。
当终端获取的使用参数是带宽占用率时,终端可以通过检测该带宽占用率是否小于占用率阈值来确定是否预加载网络资源。其中,该占用率阈值需要满足以下条件:当带宽占用率小于该占用率阈值时,即使终端正在通过第一线程预加载网络资源,终端仍然能够正常加载当前网络资源。
举例来讲,假设加载当前网络资源时的带宽占用率平均为30%,则终端可以将占用率阈值设置为60%。也即,当获取的带宽占用率低于60%时,终端可以通过第一线程预加载网络资源,此时,即使预加载网络资源的带宽占用率达到60%,终端仍然为加载当前网络资源保留了40%的带宽占用率,以保证终端能够正常加载当前网络资源。
在步骤203中,当检测出带宽占用率小于占用率阈值时,通过第一线程从消息队列中读取资源地址,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源,第一线程用于预加载除当前网络资源外的网络资源。
当终端检测出带宽占用率小于占用率阈值时,说明此时预加载网络资源不会影响终端加载当前网络资源,此时终端可以通过第一线程从消息队列中读取资源地址。
其中,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源。比如,第二线程获取到资源地址A和资源地址B,若资源地址A所指示的图片是当前网络资源,则根据资源地址A加载该图片;若资源地址B所指示的多媒体文件不是当前网络资源,则将资源地址B添加到消息队列中。
在步骤204中,通过第一线程向服务器获取资源地址所指示的网络资源。
在通过第一线程从消息队列中读取资源地址后,终端可以通过第一线程生成向服务器请求该资源地址所指示的网络资源的资源请求,并接收服务器发送的该资源地址所指示的网络资源,完成对网络资源的预加载。
可选的,终端可以创建多个第一线程,通过多个第一线程并行预加载网络资源,可以提高对网络资源的预加载速度。
可选的,第一线程可以在完成对网络资源的预加载后,由加载状态切换为空闲状态。当需要使用该第一线程预加载下一个网络资源时,终端可以将该第一线程由空闲状态切换为加载状态,再通过该第一线程预加载下一个网络资源。
可选的,终端可以在第一线程完成对网络资源的预加载后,关闭该第一线程,以减少第一线程对系统资源的占用。
综上所述,本公开实施例中提供的资源预加载方法,通过在检测出带宽占用率小于占用率阈值时,预加载除当前网络资源外的网络资源;可以在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
图3是根据再一示例性实施例示出的一种资源预加载方法的流程图,如图3所示,该资源预加载方法应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载方法包括以下步骤。
在步骤301中,通过第一线程检测消息队列中是否存在资源地址,若检测出消息队列中存在资源地址,则获取终端的使用参数。
第一线程用于预加载网络资源。该网络资源是指除终端显示的当前网络资源外的需要预加载的资源。比如,网络资源可以是网页资源,此时,该网页资源可以是当前页面内还未显示的资源,也可以是用户可能浏览的下一个页面的资源;或,网络资源也可以是其它应用程序需要预加载的资源,比如,需要预加载的文字资源、图片资源、音频资源、视频资源等。这里的页面可以是浏览器或者其它应用程序显示的网络页面。
消息队列用于存储需要预加载的网络资源的资源地址。
使用参数用于表示终端对网络的占用情况,可以是带宽占用率、页面操作等。
终端通过第一线程检测消息队列中是否存在资源地址,当检测到该消息队列中不存在资源地址时,说明当前不存在需要预加载的网络资源,结束流程;当检测到该消息队列中存在资源地址时,说明当前存在需要预加载的网络资源,此时需要预加载该网络资源。
若在确定消息队列中存在资源地址后直接预加载网络资源,此时终端可能正在加载用户浏览的当前网络资源,由于预加载网络资源和加载当前网络资源都需要占用带宽,当预加载网络资源占用了加载当前网络资源的带宽时,会降低当前网络资源的加载速度,从而干扰用户对当前页面的浏览。因此,终端在通过第一线程检测到消息队列中存在资源地址后,需要获取该终端的使用参数,根据该使用参数来确定终端对网络的占用情况,从而判断是否能够预加载网络资源。
在步骤302中,当使用参数是页面操作时,检测是否接收到用户对当前页面触发的页面操作。
页面操作是指用户对当前页面进行操作,包括点击操作、滚屏操作、放大操作、缩小操作中的至少一种。
当终端获取的使用参数是页面操作时,终端可以通过检测是否接收到用户对当前页面触发的页面操作来确定是否进行预加载。
在步骤303中,当检测出未接收到用户对当前页面触发的页面操作时,通过第一线程从消息队列中读取资源地址,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源,第一线程用于预加载除当前网络资源外的网络资源。
当终端检测出未接收到用户对当前页面触发的页面操作时,说明用户不在浏览当前页面,此时终端可以通过第一线程从消息队列中读取资源地址。
其中,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源。比如,第二线程获取到资源地址A和资源地址B,若资源地址A所指示的图片是当前网络资源,则根据资源地址A加载该图片;若资源地址B所指示的多媒体文件不是当前网络资源,则将资源地址B添加到消息队列中。
在步骤304中,通过第一线程向服务器获取资源地址所指示的网络资源。
在通过第一线程从消息队列中读取资源地址后,终端可以通过第一线程生成向服务器请求该资源地址所指示的网络资源的资源请求,并接收服务器发送的该资源地址所指示的网络资源,完成对网络资源的预加载。
可选的,终端可以创建多个第一线程,通过多个第一线程并行预加载网络资源,可以提高对网络资源的预加载速度。
可选的,第一线程可以在完成对网络资源的预加载后,由加载状态切换为空闲状态。当需要使用该第一线程预加载下一个网络资源时,终端可以将该第一线程由空闲状态切换为加载状态,再通过该第一线程预加载下一个网络资源。
可选的,终端可以在第一线程完成对网络资源的预加载后,关闭该第一线程,以减少第一线程对系统资源的占用。
综上所述,本公开实施例中提供的资源预加载方法,通过在检测出未接收到用户对当前页面触发的页面操作时,预加载除当前网络资源外的网络资源;由于能够在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,因此,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
需要说明的是,在图2对应实施例中,终端获取的使用参数为带宽占用率;在图3对应实施例中,终端获取的使用参数为页面操作。在一种可能的实施例中,终端也可以同时获取带宽占用率和页面操作,检测获取的带宽占用率是否小于占用率阈值,并检测是否接收到用户对当前页面触发的页面操作,在检测出带宽占用率小于占用率阈值,且未接收到用户对当前页面触发的页面操作时预加载网络资源。
在图2与图3对应的实施例中,终端通过第一线程检测消息队列中是否存在资源地址,在存在资源地址时获取终端的使用参数。在一种可能的实施例中,终端也可以通过第一线程检测是否接收到第二线程发送的预加载通知,在第一线程接收到预加载通知时获取终端的使用参数。请参见下述图4与图5对应的实施例。
图4是根据又一示例性实施例示出的一种资源预加载方法的流程图,如图4所示,该资源预加载方法应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载方法包括以下步骤。
在步骤401中,通过第一线程检测是否接收到第二线程发送的预加载通知,若检测出通过该第一线程接收到预加载通知,则获取终端的使用参数,预加载通知是第二线程在获取到资源地址后发送给第一线程的。
第一线程用于预加载网络资源。该网络资源是指除终端显示的当前网络资源外的需要预加载的资源。比如,网络资源可以是网页资源,此时,该网页资源可以是当前页面内还未显示的资源,也可以是用户可能浏览的下一个页面的资源;或,网络资源也可以是其它应用程序需要预加载的资源,比如,需要预加载的文字资源、图片资源、音频资源、视频资源等。这里的页面可以是浏览器或者其它应用程序显示的网络页面。第二线程用于加载当前网络资源。资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的。
本实施例中,第二线程会在获取到需要预加载的网络资源的资源地址后,生成预加载通知,并将该预加载通知发送给第一线程。因此,终端可以通过第一线程检测是否接收到第二线程发送的预加载通知来确定是否获取终端的使用参数。其中,预加载通知用于通知第一线程预加载网络资源。
当终端检测出未通过第一线程接收到预加载通知时,说明当前不存在需要预加载的网络资源,结束流程;当终端检测出通过第一线程接收到预加载通知时,说明当前存在需要预加载的资源,此时需要预加载该网络资源。
若在检测出通过第一线程接收到预加载通知,此时终端可能正在加载用户浏览的当前网络资源,由于预加载网络资源和加载当前网络资源都需要占用带宽,当预加载网络资源占用了加载当前网络资源的带宽时,会降低当前网络资源的加载速度,从而干扰用户对当前页面的浏览。因此,终端在检测出通过第一线程接收到预加载通知后,需要获取该终端的使用参数,根据该使用参数来确定终端对网络的占用情况,从而判断是否能够预加载网络资源。其中,使用参数用于表示终端对网络的占用情况,可以是带宽占用率、页面操作等。
下面对终端通过第二线程向第一线程发送预加载通知的两种发送方式进行介绍。
在一种发送方式中,终端通过该第二线程新建一个第一线程,将预加载通知发送给新建的该第一线程。
其中,第二线程在新建一个第一线程后,会生成该第一线程的线程标识,第二线程将预加载通知发送给该线程标识所指示的第一线程。
在另一种发送方式中,终端通过该第二线程选择一个处于空闲状态的第一线程,将预加载通知发送给选择的第一线程。
处于空闲状态的第一线程是指当前时刻不在预加载网络资源的第一线程,该第一线程可以是终端创建的,也可以是第二线程创建的,本实施例不作限定。
第二线程可以从各个处于空闲状态的第一线程中选择一个第一线程,获取该第一线程的线程标识,将预加载通知发送给该线程标识所指示的第一线程。
在步骤402中,当使用参数是带宽占用率时,检测带宽占用率是否小于占用率阈值。
带宽占用率可以是终端中所有应用程序的带宽占用率,也可以是第一线程所属的应用程序的带宽占用率。
当终端获取的使用参数是带宽占用率时,终端可以通过检测该带宽占用率是否小于占用率阈值来确定是否预加载网络资源。其中,该占用率阈值需要满足以下条件:当带宽占用率小于该占用率阈值时,即使终端正在通过第一线程预加载网络资源,终端仍然能够正常加载当前网络资源。
在步骤403中,当检测出带宽占用率小于占用率阈值时,通过第一线程从消息队列中读取资源地址,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源,第一线程用于预加载除当前网络资源外的网络资源。
当终端检测出带宽占用率小于占用率阈值时,说明此时预加载网络资源不会影响终端加载当前网络资源,此时终端可以通过第一线程从消息队列中读取资源地址。
在步骤404中,通过第一线程向服务器获取资源地址所指示的网络资源。
在通过第一线程从消息队列中读取资源地址后,终端可以通过第一线程生成向服务器请求该资源地址所指示的网络资源的资源请求,并接收服务器发送的该资源地址所指示的网络资源,完成对网络资源的预加载。
可选的,终端可以创建多个第一线程,通过多个第一线程并行预加载网络资源,可以提高对网络资源的预加载速度。
可选的,第一线程可以在完成对网络资源的预加载后,由加载状态切换为空闲状态。当需要使用该第一线程预加载下一个网络资源时,终端可以将该第一线程由空闲状态切换为加载状态,再通过该第一线程预加载下一个网络资源。
可选的,终端可以在第一线程完成对网络资源的预加载后,关闭该第一线程,以减少第一线程对系统资源的占用。
综上所述,本公开实施例中提供的资源预加载方法,通过在检测出带宽占用率小于占用率阈值时,预加载除当前网络资源外的网络资源;由于能够在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,因此,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
图5是根据还一示例性实施例示出的一种资源预加载方法的流程图,如图5所示,该资源预加载方法应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载方法包括以下步骤。
在步骤501中,通过第一线程检测是否接收到第二线程发送的预加载通知,若检测出通过该第一线程接收到预加载通知,则获取终端的使用参数,预加载通知是第二线程在获取到资源地址后发送给第一线程的。
第一线程用于预加载网络资源。该网络资源是指除终端显示的当前网络资源外的需要预加载的资源。比如,网络资源可以是网页资源,此时,该网页资源可以是当前页面内还未显示的资源,也可以是用户可能浏览的下一个页面的资源;或,网络资源也可以是其它应用程序需要预加载的资源,比如,需要预加载的文字资源、图片资源、音频资源、视频资源等。这里的页面可以是浏览器或者其它应用程序显示的网络页面。第二线程用于加载当前网络资源。资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的。
本实施例中,第二线程会在获取到需要预加载的网络资源的资源地址后,生成预加载通知,并将该预加载通知发送给第一线程。因此,终端可以通过第一线程检测是否接收到第二线程发送的预加载通知来确定是否获取终端的使用参数。其中,预加载通知用于通知第一线程预加载网络资源。
下面对终端通过第二线程向第一线程发送预加载通知的两种发送方式进行介绍。
在一种发送方式中,终端通过该第二线程新建一个第一线程,将预加载通知发送给新建的该第一线程。
其中,第二线程在新建一个第一线程后,会生成该第一线程的线程标识,第二线程将预加载通知发送给该线程标识所指示的第一线程。
在另一种发送方式中,终端通过该第二线程选择一个处于空闲状态的第一线程,将预加载通知发送给选择的第一线程。
处于空闲状态的第一线程是指当前时刻不在预加载网络资源的第一线程,该第一线程可以是终端创建的,也可以是第二线程创建的,本实施例不作限定。
第二线程可以从各个处于空闲状态的第一线程中选择一个第一线程,获取该第一线程的线程标识,将预加载通知发送给该线程标识所指示的第一线程。
在步骤502中,当使用参数是页面操作时,检测是否接收到用户对当前页面触发的页面操作。
页面操作是指用户对当前页面进行操作,包括点击操作、滚屏操作、放大操作、缩小操作中的至少一种。
当终端获取的使用参数是页面操作时,终端可以通过检测是否接收到用户对当前页面触发的页面操作来确定是否进行预加载。
在步骤503中,当检测出未接收到用户对当前页面触发的页面操作时,通过第一线程从消息队列中读取资源地址,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源,第一线程用于预加载除当前网络资源外的网络资源。
当终端检测出未接收到用户对当前页面触发的页面操作时,说明用户并不在浏览当前页面,此时终端可以通过第一线程从消息队列中读取资源地址。
在步骤504中,通过第一线程向服务器获取资源地址所指示的网络资源。
在通过第一线程从消息队列中读取资源地址后,终端可以通过第一线程生成向服务器请求该资源地址所指示的网络资源的资源请求,并接收服务器发送的该资源地址所指示的网络资源,完成对网络资源的预加载。
可选的,终端可以创建多个第一线程,通过多个第一线程并行预加载网络资源,可以提高对网络资源的预加载速度。
可选的,第一线程可以在完成对网络资源的预加载后,由加载状态切换为空闲状态。当需要使用该第一线程预加载下一个网络资源时,终端可以将该第一线程由空闲状态切换为加载状态,再通过该第一线程预加载下一个网络资源。
可选的,终端可以在第一线程完成对网络资源的预加载后,关闭该第一线程,以减少第一线程对系统资源的占用。
综上所述,本公开实施例中提供的资源预加载方法,通过在检测出未接收到用户对当前页面触发的页面操作时,预加载除当前网络资源外的网络资源;由于能够在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,因此,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
需要说明的是,在图4对应实施例中,终端获取的使用参数为带宽占用率;在图5对应实施例中,终端获取的使用参数为页面操作。在一种可能的实施例中,终端也可以同时获取带宽占用率和页面操作,并根据这两种使用参数进行检测,在检测出带宽占用率小于占用率阈值,且未接收到用户对当前页面触发的页面操作时进行预加载。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图6是根据一示例性实施例示出的一种资源预加载装置的框图,如图6所示,该资源预加载装置应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载装置可以包括但不限于:获取模块601、检测模块602和预加载模块603。
该获取模块601,被配置为获取终端的使用参数。
该检测模块602,被配置为根据获取模块601获取的使用参数检测终端是否正在加载当前网络资源,当前网络资源是指终端当前显示的网络资源。
该预加载模块603,被配置为在检测模块602根据使用参数检测出终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源。
综上所述,本公开实施例中提供的资源预加载装置,通过在检测出终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源;由于能够在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,因此,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
图7是根据另一示例性实施例示出的一种资源预加载装置的框图,如图7所示,该资源预加载装置应用于具有联网功能的终端中,该终端可以是智能手机、平板电脑、智能电视、电子书阅读器、多媒体播放器、膝上型便携计算机和台式计算机等等。该资源预加载装置可以包括但不限于:获取模块701、检测模块702和预加载模块703。
该获取模块701,被配置为获取终端的使用参数。
该检测模块702,被配置为根据获取模块701获取的使用参数检测终端是否正在加载当前网络资源,当前网络资源是指终端当前显示的网络资源。
该预加载模块703,被配置为在检测模块702根据使用参数检测出终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源。
在一种可能的实施例中,该预加载模块703可以包括:读取子模块703a和第一获取子模块703b。
该读取子模块703a,被配置为通过第一线程从消息队列中读取资源地址,资源地址是第二线程在确定出该资源地址所指示的网络资源不是当前网络资源后添加到该消息队列中的,第二线程用于加载当前网络资源,第一线程用于预加载除当前网络资源外的网络资源。
该第一获取子模块703b,被配置为通过第一线程向服务器获取资源地址所指示的网络资源。
在一种可能的实施例中,该检测模块702可以包括:第一检测子模块702a或第二检测子模块702b。
该第一检测子模块702a,被配置为当使用参数是带宽占用率时,检测该带宽占用率是否小于占用率阈值。
该第二检测子模块702b,被配置为当使用参数是页面操作时,检测是否接收到用户对当前页面触发的页面操作。
在一种可能的实施例中,该获取模块701可以包括:第二获取子模块701a或第三获取子模块701b。
该第二获取子模块701a,被配置为通过第一线程检测消息队列中是否存在资源地址,若检测出该消息队列中存在资源地址,则获取终端的使用参数。
该第三获取子模块701b,被配置为通过第一线程检测是否接收到第二线程发送的预加载通知,若检测出通过该第一线程接收到预加载通知,则获取终端的使用参数,预加载通知是第二线程在获取到资源地址后发送给第一线程的。
在一种可能的实施例中,该资源预加载装置还可以包括:第一发送模块704或第二发送模块705。
该第一发送模块704,被配置为通过第二线程新建一个第一线程,将预加载通知发送给新建的第一线程。
该第二发送模块705,被配置为通过第二线程选择一个处于空闲状态的第一线程,将预加载通知发送给选择的第一线程。
综上所述,本公开实施例中提供的资源预加载装置,通过在检测出终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源;由于能够在终端未加载当前网络资源时,预加载除该当前网络资源外的网络资源,因此,解决了终端正在加载当前网络资源时,预加载除该当前网络资源外的网络资源,降低了当前网络资源的加载速度,从而降低当前页面的显示速度的问题;达到了在不影响当前页面的显示速度的前提下进行资源预加载的效果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开一示例性实施例提供了一种资源预加载装置,能够实现本公开提供的资源预加载方法,该资源预加载装置包括:处理器、用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
获取终端的使用参数;
根据使用参数检测终端是否正在加载当前网络资源,当前网络资源是指终端当前显示的网络资源;
若根据使用参数检测出终端未加载当前网络资源,则预加载除当前网络资源外的网络资源。
图8是根据一示例性实施例示出的一种用于预加载资源的装置的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,个人数字助理等。
参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器818来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如Wi-Fi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述资源预加载方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器818执行以完成上述资源预加载方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (11)

1.一种资源预加载方法,其特征在于,所述方法包括:
获取终端的使用参数,所述使用参数是带宽占用率或页面操作;
根据所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;
若根据所述使用参数检测出所述终端未加载所述当前网络资源,则预加载除所述当前网络资源外的网络资源;
若根据所述使用参数检测出所述终端正在加载所述当前网络资源,则不加载除所述当前网络资源外的网络资源。
2.根据权利要求1所述的方法,其特征在于,所述预加载除所述当前网络资源外的网络资源,包括:
通过第一线程从消息队列中读取资源地址,所述资源地址是第二线程在确定出所述资源地址所指示的网络资源不是当前网络资源后添加到所述消息队列中的,所述第二线程用于加载当前网络资源,所述第一线程用于预加载除当前网络资源外的网络资源;
通过所述第一线程向服务器获取所述资源地址所指示的所述网络资源。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述使用参数检测所述终端是否正在加载当前网络资源,包括:
当所述使用参数是带宽占用率时,检测所述带宽占用率是否小于占用率阈值;或,
当所述使用参数是页面操作时,检测是否接收到用户对所述当前页面触发的页面操作。
4.根据权利要求2所述的方法,其特征在于,所述获取终端的使用参数,包括:
通过所述第一线程检测所述消息队列中是否存在资源地址,若检测出所述消息队列中存在所述资源地址,则获取所述终端的使用参数;或,
通过所述第一线程检测是否接收到所述第二线程发送的预加载通知,若检测出通过所述第一线程接收到所述预加载通知,则获取所述终端的使用参数,所述预加载通知是所述第二线程在获取到所述资源地址后发送给所述第一线程的。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
通过所述第二线程新建一个第一线程,将所述预加载通知发送给新建的所述第一线程;或,
通过所述第二线程选择一个处于空闲状态的第一线程,将所述预加载通知发送给选择的所述第一线程。
6.一种资源预加载装置,其特征在于,所述装置包括:
获取模块,被配置为获取终端的使用参数,所述使用参数是带宽占用率或页面操作;
检测模块,被配置为根据所述获取模块获取的所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;
预加载模块,被配置为在所述检测模块根据所述使用参数检测出所述终端未加载所述当前网络资源时,预加载除所述当前网络资源外的网络资源;
被配置为在根据所述使用参数检测出所述终端正在加载所述当前网络资源时,不加载除所述当前网络资源外的网络资源的模块。
7.根据权利要求6所述的装置,其特征在于,所述预加载模块,包括:
读取子模块,被配置为通过第一线程从消息队列中读取资源地址,所述资源地址是第二线程在确定出所述资源地址所指示的网络资源不是当前网络资源后添加到所述消息队列中的,所述第二线程用于加载当前网络资源,所述第一线程用于预加载除当前网络资源外的网络资源;
第一获取子模块,被配置为通过所述第一线程向服务器获取所述资源地址所指示的所述网络资源。
8.根据权利要求6或7所述的装置,其特征在于,所述检测模块,包括:
第一检测子模块,被配置为当所述使用参数是带宽占用率时,检测所述带宽占用率是否小于占用率阈值;或,
第二检测子模块,被配置为当所述使用参数是页面操作时,检测是否接收到用户对所述当前页面触发的页面操作。
9.根据权利要求7所述的装置,其特征在于,所述获取模块,包括:
第二获取子模块,被配置为通过所述第一线程检测所述消息队列中是否存在资源地址,若检测出所述消息队列中存在所述资源地址,则获取所述终端的使用参数;或,
第三获取子模块,被配置为通过所述第一线程检测是否接收到所述第二线程发送的预加载通知,若检测出通过所述第一线程接收到所述预加载通知,则获取所述终端的使用参数,所述预加载通知是所述第二线程在获取到所述资源地址后发送给所述第一线程的。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
第一发送模块,被配置为通过所述第二线程新建一个第一线程,将所述预加载通知发送给新建的所述第一线程;或,
第二发送模块,被配置为通过所述第二线程选择一个处于空闲状态的第一线程,将所述预加载通知发送给选择的所述第一线程。
11.一种资源预加载装置,其特征在于,所述装置包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取终端的使用参数,所述使用参数是带宽占用率或页面操作;
根据所述使用参数检测所述终端是否正在加载当前网络资源,所述当前网络资源是指所述终端当前显示的网络资源;
若根据所述使用参数检测出所述终端未加载所述当前网络资源,则预加载除所述当前网络资源外的网络资源;
若根据所述使用参数检测出所述终端正在加载所述当前网络资源,则不加载除所述当前网络资源外的网络资源。
CN201410830177.4A 2014-12-26 2014-12-26 资源预加载方法及装置 Active CN104536787B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410830177.4A CN104536787B (zh) 2014-12-26 2014-12-26 资源预加载方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410830177.4A CN104536787B (zh) 2014-12-26 2014-12-26 资源预加载方法及装置

Publications (2)

Publication Number Publication Date
CN104536787A CN104536787A (zh) 2015-04-22
CN104536787B true CN104536787B (zh) 2018-05-18

Family

ID=52852319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410830177.4A Active CN104536787B (zh) 2014-12-26 2014-12-26 资源预加载方法及装置

Country Status (1)

Country Link
CN (1) CN104536787B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975311B (zh) * 2016-05-09 2021-01-29 腾讯科技(深圳)有限公司 一种应用启动方法及装置
CN106681758B (zh) * 2016-12-07 2019-04-05 Oppo广东移动通信有限公司 WiFi热点的开启方法及装置
CN107544898A (zh) * 2017-09-08 2018-01-05 北京小米移动软件有限公司 数据获取方法、装置、设备和存储介质
CN110020310A (zh) * 2017-12-05 2019-07-16 广东欧珀移动通信有限公司 资源加载的方法、装置、终端及存储介质
CN108846113A (zh) * 2018-06-25 2018-11-20 郑州云海信息技术有限公司 一种图片预加载的方法、系统及相关组件
CN111400633A (zh) * 2020-04-13 2020-07-10 网易(杭州)网络有限公司 页面资源加载的方法及装置
CN114637936A (zh) * 2022-02-28 2022-06-17 北京奇艺世纪科技有限公司 一种页面加载方法、系统、终端设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794567A (zh) * 2010-02-10 2010-08-04 中兴通讯股份有限公司 图片加载的方法及终端
CN102541602A (zh) * 2011-12-28 2012-07-04 用友软件股份有限公司 界面的预加载装置和预加载方法
CN103399759A (zh) * 2013-06-29 2013-11-20 广州市动景计算机科技有限公司 一种网络内容下载方法及装置
CN103530329A (zh) * 2013-09-27 2014-01-22 北京奇虎科技有限公司 一种进行网页加载的方法、装置和浏览器
CN103617165A (zh) * 2013-10-22 2014-03-05 小米科技有限责任公司 一种加载图片的方法、装置及终端

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101794567A (zh) * 2010-02-10 2010-08-04 中兴通讯股份有限公司 图片加载的方法及终端
CN102541602A (zh) * 2011-12-28 2012-07-04 用友软件股份有限公司 界面的预加载装置和预加载方法
CN103399759A (zh) * 2013-06-29 2013-11-20 广州市动景计算机科技有限公司 一种网络内容下载方法及装置
CN103530329A (zh) * 2013-09-27 2014-01-22 北京奇虎科技有限公司 一种进行网页加载的方法、装置和浏览器
CN103617165A (zh) * 2013-10-22 2014-03-05 小米科技有限责任公司 一种加载图片的方法、装置及终端

Also Published As

Publication number Publication date
CN104536787A (zh) 2015-04-22

Similar Documents

Publication Publication Date Title
CN104536787B (zh) 资源预加载方法及装置
CN105955607B (zh) 内容分享方法和装置
EP3301557A1 (en) Method, apparatus and computer program product for sharing content
US20150019966A1 (en) Method for processing data and electronic device thereof
CN104050266B (zh) 用户行为记录方法、装置和网页浏览器
CN106489129A (zh) 一种内容分享的方法及装置
CN104731688B (zh) 提示阅读进度的方法及装置
CN104503689A (zh) 应用界面显示方法及装置
CN106598393A (zh) 分屏显示的方法及装置
CN104778405B (zh) 广告拦截方法及装置
CN104933170A (zh) 信息展示方法及装置
CN107066172A (zh) 移动终端的文件传输方法及装置
CN104765522A (zh) 聊天窗口的展示控制方法及系统
CN105095227A (zh) 网页预加载的方法及装置
CN104580019A (zh) 网络服务提供方法及装置
CN106528735A (zh) 控制浏览器播放媒体资源的方法及装置
CN105630337A (zh) 控件控制方法及装置
CN105392141A (zh) 设备控制方法及装置
CN104572875A (zh) 推广信息投放有效性确定方法及装置
CN106504295A (zh) 渲染图片的方法及装置
CN105635809A (zh) 图像处理方法、装置及终端
CN104951445B (zh) 一种网页处理方法及装置
CN105550213A (zh) 图片浏览方法和装置
CN104951184A (zh) 应用程序下载方法及装置
CN112948704A (zh) 用于信息推荐的模型训练方法、装置、电子设备以及介质

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant