CN103491171A - 网络资源异步加载方法和装置 - Google Patents
网络资源异步加载方法和装置 Download PDFInfo
- Publication number
- CN103491171A CN103491171A CN201310440274.8A CN201310440274A CN103491171A CN 103491171 A CN103491171 A CN 103491171A CN 201310440274 A CN201310440274 A CN 201310440274A CN 103491171 A CN103491171 A CN 103491171A
- Authority
- CN
- China
- Prior art keywords
- internet resources
- signature
- address
- resources
- network
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种异步加载网络资源的方法和装置。本发明的方法和装置通过校验网络资源的签名,当判断无本地缓存的相同的网络资源时首先采用预先设定好的占位资源进行占位,当网络资源下载完成后,再进行网络资源的替换,这样避免了在网络条件比较差的环境下,手机客户端用比较长的时间等待网络资源的加载,导致前端界面的线程被阻塞,给用户带来极不合理的使用体验;该方法同时还提供网络资源的本地缓存,避免频繁的网络资源访问,用户了节约手机的上网流量。
Description
技术领域
本发明属于智能手机应用开发技术领域,具体涉及以android操作系统为基础的网络资源异步加载方法。
背景技术
在智能手机应用程序开发过程中,开发者往往不能在产品发布前将所有的资源全部准备好,比如针对某些游戏软件,在程序发布及运行过程中,需要即时的改变现有应用的图片资源或是加载全新的图片资源用作应用程序的皮肤或其他前端显示效果。
对于其它网络资源比如音频资源或视频资源的加载,通常也会存在上述问题,而网络资源的加载以及对应用程序界面的修改往往是在程序主线程中进行的,在网络条件差的环境中,该过程通常很慢,并且很难预计完成所需要的时间,手机用户通常会因为界面效果的呈现而等待很长时间,这严重影响了用户的使用体验。
发明内容
本发明的目的是为了解决网络资源的加载存在的上述问题,提出了一种网络资源异步加载方法。
本发明的技术方案为:一种网络资源异步加载方法,具体包括如下步骤:
异步加载网络资源;
设置网络资源地址,并通过装载器加载所述地址;
根据所述地址进行网络资源地址签名计算,校验网络资源签名,若存在相同的签名,则在本地存储路径下寻找相同签名的已缓存网络资源;若不存在相同的签名,说明无本地缓存的相同的网络资源,则加载预先设定好的占位资源,并开启网络请求,以数据流形式获取网络资源,数据拉取完成后,还原成网络资源,并用下载完成的网络资源替换掉占位资源,并将所述网络资源和计算得到的地址签名缓存到本地应用目录。
进一步的,所述的网络资源具体为:图片资源、音频资源或视频资源。
进一步的,具体采用MD5算法进行网络资源地址签名计算。
为了解决上述问题,本发明还提出了一种网络资源异步加载装置,具体包括:
网络资源加载单元,用于异步加载网络资源;
网络资源地址设置单元,用于设置网络资源地址,并加载所述地址;
签名校验单元,用于根据所述地址进行网络资源地址签名计算,校验网络资源签名,若存在相同的签名,则在本地存储路径下寻找相同签名的已缓存网络资源;若不存在相同的签名,说明无本地缓存的相同的网络资源,则加载预先设定好的占位资源,并开启网络 请求,以数据流形式获取网络资源,数据拉取完成后,还原成网络资源,并用下载完成的网络资源替换掉占位资源,并将所述网络资源和计算得到的地址签名缓存到本地应用目录。
本发明的有益效果:本发明的方法和装置通过校验网络资源的签名,当判断无本地缓存的相同的网络资源时首先采用预先设定好的占位资源作进行占位,当网络资源下载完成后,再进行网络资源的替换,这样避免了在网络条件比较差的环境下,手机客户端用比较长的时间等待网络资源的加载,导致前端界面的线程被阻塞,给用户带来极不合理的使用体验;该方法同时还提供网络资源的本地缓存,避免频繁的网络资源访问,用户了节约手机的上网流量。
附图说明
图1为本发明的网络资源异步加载方法的流程示意图。
图2为本发明的网络资源异步加载装置结构示意图。
图3为本发明实施例中游戏软件图片资源示意图。
图4为本发明实施例中android操作系统的游戏开发或应用流程示意图。
具体实施方式
下面结合附图对本发明的实施例做进一步的说明。
本实施例提供的网络资源异步加载方法的流程示意图如图1所示,具体包括如下步骤:
异步加载网络资源;
设置网络资源地址,并通过装载器加载所述地址;
根据所述地址进行网络资源地址签名计算,校验网络资源签名,若存在相同的签名,则在本地存储路径下寻找相同签名的已缓存网络资源;若不存在相同的签名,说明无本地缓存的相同的网络资源,则加载预先设定好的占位资源,并开启网络请求,以数据流形式获取网络地址资源,数据拉取完成后,还原成网络资源,并用下载完成的网络资源替换掉占位资源,并将所述网络资源和计算得到的地址签名缓存到本地应用目录。
这里为了便于方案操作,将所述网络资源和计算得到的地址签名缓存到本地应用目录具体为:用该网络资源的网络地址签名作为文件名,将网络资源的内容以本地文件的形式缓存到应用所在的目录。
基于上述方法,本实施例还提供了一种网络资源异步加载装置,具体示意图如图2所示,包括:
网络资源加载单元,用于异步加载网络资源;
网络资源地址设置单元,用于设置网络资源地址,并加载所述地址;
签名校验单元,用于根据所述地址进行网络资源地址签名计算,校验网络资源签名, 若存在相同的签名,则在本地存储路径下寻找相同签名的已缓存网络资源;若不存在相同的签名,说明无本地缓存的相同的网络资源,则加载预先设定好的占位资源,并开启网络请求,以数据流形式获取网络资源,数据拉取完成后,还原成网络资源,并用下载完成的网络资源替换掉占位资源,并将所述网络资源和计算得到的地址签名缓存到本地应用目录。
下面以android操作系统的游戏开发或应用为例进行具体说明。
如图2所示,一个游戏软件界面上一般包括一个主标题和主标题所属的若干个子标题(子标题1、子标题2……),每个标题前通常都放置一图片,一般用于说明改标题所属内容的功能,主要起标识作用,这些图片在在程序运行过程中,后台服务器一般会定期对其进行更新,手机用户通常会因为界面效果的呈现而等待很长时间,严重影响了用户的使用体验。
基于此,本发明的方法应用于android操作系统的游戏开发或应用的具体流程如图3所示,首先导入网络图片资源的异步加载器,实例化并绑定需要实时替换的图片资源容器的句柄,设置网络图片地址,并通过装载器加载该地址;加载器会首先根据图片地址进行网络资源地址签名计算,获取签名后会在本地存储路径下寻找相同签名的已缓存图片,当存在相同签名的已缓存图片时,加载本地图片资源;如无本地缓存图片,则开启网络请求,以数据流形式获取网络地址资源,数据拉取完成后,通过位图工厂还原成图片文件;用下载完成的图片文件替换应用中的占位图片(可以设置成游戏开发商的logo图片);以网络资源的网络地址签名作为文件名,将下载完成的图片文件缓存到本地应用目录。
这里通过消息摘要算法(MD5算法)对网络图片资源的地址进行签名,防止相同的网络图片资源被反复加载;利用android sdk中的异步任务机制,脱离界面主线程执行网络图片资源的校验、获取以及本地保存任务。
在获取网络图片资源的异步任务机制工作的同时,用程序发布时打包进入的图片加载标识位图(占位图片)作为网络图片的替换,在异步任务机制完成后,对主线程的图片资源进行替换。图片资源的替换,无需界面主线程进行任何额外的处理工作,替换完成后,新的图片资源会即时显示在手机应用界面上。下载完成并成功显示图片资源后,会根据其网络地址进行文件签名,当系统下次需要加载同一图片资源时,应用直接从本地加载,避免了额外的数据流量的损失。
上述实施例通过android系统的图片资源的加载,说明了本发明方法的具体工作过程,本发明所提供的装置与之类似,不再详细说明。
本发明的方法可以应用于android系统中在实时加载网络图片资源时解决阻塞界面主线程的问题,这里以图片资源为例进行说明,也可以针对音频资源或视频资源,可以简单快 速的应用于各类android应用开发项目中,对于其它操作系统也同样适用。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
Claims (10)
1.一种网络资源异步加载方法,具体包括如下步骤:
异步加载网络资源;
设置网络资源地址,并通过装载器加载所述地址;
根据所述地址进行网络资源地址签名计算,校验网络资源签名,若存在相同的签名,则在本地存储路径下寻找相同签名的已缓存网络资源;若不存在相同的签名,说明无本地缓存的相同的网络资源,则加载预先设定好的占位资源,并开启网络请求,以数据流形式获取网络资源,数据拉取完成后,还原成网络资源,并用下载完成的网络资源替换掉占位资源,并将所述网络资源和计算得到的地址签名缓存到本地应用目录。
2.根据权利要求1所述的网络资源异步加载方法,其特征在于,所述的网络资源具体为:图片资源、音频资源或视频资源。
3.根据权利要求1所述的网络资源异步加载方法,其特征在于,具体采用MD5算法进行网络资源地址签名计算。
4.根据权利要求1至3任一项权利要求所述的网络资源异步加载方法,其特征在于,将所述网络资源和计算得到的地址签名缓存到本地应用目录具体为:用该网络资源的网络地址签名作为文件名,将网络资源的内容以本地文件的形式缓存到应用所在的目录。
5.根据权利要求4所述的网络资源异步加载方法,其特征在于,所述的方法具体应用于android操作系统。
6.一种网络资源异步加载装置,具体包括:
网络资源加载单元,用于异步加载网络资源;
网络资源地址设置单元,用于设置网络资源地址,并加载所述地址;
签名校验单元,用于根据所述地址进行网络资源地址签名计算,校验网络资源签名,若存在相同的签名,则在本地存储路径下寻找相同签名的已缓存网络资源;若不存在相同的签名,说明无本地缓存的相同的网络资源,则加载预先设定好的占位资源,并开启网络请求,以数据流形式获取网络资源,数据拉取完成后,还原成网络资源,并用下载完成的网络资源替换掉占位资源,并将所述网络资源和计算得到的地址签名缓存到本地应用目录。
7.根据权利要求6所述的网络资源异步加载装置,其特征在于,所述的网络资源具体为:图片资源、音频资源或视频资源。
8.根据权利要求6所述的网络资源异步加载装置,其特征在于,具体采用MD5算法进行网络资源地址签名计算。
9.根据权利要求6至8任一项权利要求所述的网络资源异步加载装置,其特征在于,将所述网络资源和计算得到的地址签名缓存到本地应用目录具体为:用该网络资源的网络地址签名作为文件名,将网络资源的内容以本地文件的形式缓存到应用所在的目录。
10.根据权利要求9所述的网络资源异步加载装置,其特征在于,所述的装置具体应用于android操作系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310440274.8A CN103491171A (zh) | 2013-09-24 | 2013-09-24 | 网络资源异步加载方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310440274.8A CN103491171A (zh) | 2013-09-24 | 2013-09-24 | 网络资源异步加载方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103491171A true CN103491171A (zh) | 2014-01-01 |
Family
ID=49831124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310440274.8A Pending CN103491171A (zh) | 2013-09-24 | 2013-09-24 | 网络资源异步加载方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103491171A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407812A (zh) * | 2014-11-14 | 2015-03-11 | 北京国双科技有限公司 | 用于终端设备的网络加载方法和装置 |
CN105353976A (zh) * | 2015-10-21 | 2016-02-24 | 百度在线网络技术(北京)有限公司 | 一种获取缓存数据的方法和装置 |
CN107786885A (zh) * | 2017-10-31 | 2018-03-09 | 北京酷我科技有限公司 | 一种视频异步加载和超时监测的方法 |
CN109684573A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 目标图片显示方法及装置、存储介质、电子设备 |
CN110287146A (zh) * | 2019-06-19 | 2019-09-27 | 上海连尚网络科技有限公司 | 应用下载的方法、设备和计算机存储介质 |
CN112153449A (zh) * | 2020-08-19 | 2020-12-29 | 视联动力信息技术股份有限公司 | 一种屏保文件显示方法、装置、终端设备和存储介质 |
CN112765511A (zh) * | 2021-01-28 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 业务对象的展示方法、装置、设备、存储介质和程序产品 |
CN113536174A (zh) * | 2017-06-23 | 2021-10-22 | 创新先进技术有限公司 | 一种界面加载方法、装置及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499366A (zh) * | 2002-11-08 | 2004-05-26 | 深圳市中兴通讯股份有限公司 | 数据库驱动程序的装载方法 |
US20060075336A1 (en) * | 2004-09-29 | 2006-04-06 | International Business Machines Corporation | Method, system and program product for providing content over a network |
CN102789470A (zh) * | 2011-05-20 | 2012-11-21 | 腾讯科技(深圳)有限公司 | 加载网页中的图片的方法和装置 |
CN102831182A (zh) * | 2012-07-31 | 2012-12-19 | 北京天神互动科技有限公司 | 一种网页资源数据实时加载系统及方法 |
-
2013
- 2013-09-24 CN CN201310440274.8A patent/CN103491171A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1499366A (zh) * | 2002-11-08 | 2004-05-26 | 深圳市中兴通讯股份有限公司 | 数据库驱动程序的装载方法 |
US20060075336A1 (en) * | 2004-09-29 | 2006-04-06 | International Business Machines Corporation | Method, system and program product for providing content over a network |
CN102789470A (zh) * | 2011-05-20 | 2012-11-21 | 腾讯科技(深圳)有限公司 | 加载网页中的图片的方法和装置 |
CN102831182A (zh) * | 2012-07-31 | 2012-12-19 | 北京天神互动科技有限公司 | 一种网页资源数据实时加载系统及方法 |
Non-Patent Citations (1)
Title |
---|
梁晟,于涛: ""基于android 的授权图片浏览系统的实现"", 《贵阳学院学报( 自然科学版)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407812A (zh) * | 2014-11-14 | 2015-03-11 | 北京国双科技有限公司 | 用于终端设备的网络加载方法和装置 |
CN105353976A (zh) * | 2015-10-21 | 2016-02-24 | 百度在线网络技术(北京)有限公司 | 一种获取缓存数据的方法和装置 |
CN105353976B (zh) * | 2015-10-21 | 2018-09-07 | 百度在线网络技术(北京)有限公司 | 一种获取缓存数据的方法和装置 |
CN113536174A (zh) * | 2017-06-23 | 2021-10-22 | 创新先进技术有限公司 | 一种界面加载方法、装置及设备 |
CN109684573A (zh) * | 2017-10-18 | 2019-04-26 | 北京京东尚科信息技术有限公司 | 目标图片显示方法及装置、存储介质、电子设备 |
CN109684573B (zh) * | 2017-10-18 | 2021-10-15 | 北京京东尚科信息技术有限公司 | 目标图片显示方法及装置、存储介质、电子设备 |
CN107786885A (zh) * | 2017-10-31 | 2018-03-09 | 北京酷我科技有限公司 | 一种视频异步加载和超时监测的方法 |
CN110287146A (zh) * | 2019-06-19 | 2019-09-27 | 上海连尚网络科技有限公司 | 应用下载的方法、设备和计算机存储介质 |
CN110287146B (zh) * | 2019-06-19 | 2021-07-20 | 上海连尚网络科技有限公司 | 应用下载的方法、设备和计算机存储介质 |
CN112153449A (zh) * | 2020-08-19 | 2020-12-29 | 视联动力信息技术股份有限公司 | 一种屏保文件显示方法、装置、终端设备和存储介质 |
CN112765511A (zh) * | 2021-01-28 | 2021-05-07 | 北京达佳互联信息技术有限公司 | 业务对象的展示方法、装置、设备、存储介质和程序产品 |
CN112765511B (zh) * | 2021-01-28 | 2024-04-23 | 北京达佳互联信息技术有限公司 | 业务对象的展示方法、装置、设备、存储介质和程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103491171A (zh) | 网络资源异步加载方法和装置 | |
US9918228B2 (en) | Session completion through co-browsing | |
CN103227812B (zh) | 智能设备中支持断点续传的下载方法和装置 | |
US10977062B2 (en) | System for starting virtual machine using mirror image file stored in units of a distributed block storage system mapped to units of a logical volume | |
CN103793257B (zh) | 一种Android程序的流式执行方法 | |
US20180027061A1 (en) | Method and apparatus for elastically scaling virtual machine cluster | |
CN110058873A (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN104965717A (zh) | 一种页面加载的方法及装置 | |
CN110913015A (zh) | 一种云手机app的分布式快捷安装方法、系统及介质 | |
CN105677477A (zh) | 一种优化应用程序资源的方法、装置及电子设备 | |
CN103870303A (zh) | 减小软件安装包大小的方法及装置 | |
CN109542361A (zh) | 一种分布式存储系统文件读取方法、系统及相关装置 | |
CN106790525A (zh) | 一种文件下载方法及装置 | |
CN102646043A (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
WO2019071618A1 (zh) | 一种图像处理方法及设备 | |
CN102752371A (zh) | 在客户端上实现闪屏的方法和客户端 | |
CN109361947A (zh) | 网络资源批量加载方法、智能电视、存储介质及装置 | |
CN106210882A (zh) | 视频文件的播放处理方法及装置 | |
CN107911700B (zh) | 一种基于虚拟化的硬件解码方法、解码设备及存储介质 | |
CN105430435A (zh) | 一种ios系统中推送视频文件下载的方法及系统 | |
US20170223078A1 (en) | Asset streaming and delivery | |
CN109213534A (zh) | 一种扩展直播软件功能的方法及装置 | |
CN105740158A (zh) | 减少便携式终端设备上浏览器内存占用的方法与装置 | |
KR20100111749A (ko) | 애플리케이션의 효율적인 압축 | |
CN107729032A (zh) | 开机动画更新方法、智能终端及可存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140101 |