CN109582889A - 图片加载方法、装置、计算机设备及存储介质 - Google Patents
图片加载方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109582889A CN109582889A CN201811207627.9A CN201811207627A CN109582889A CN 109582889 A CN109582889 A CN 109582889A CN 201811207627 A CN201811207627 A CN 201811207627A CN 109582889 A CN109582889 A CN 109582889A
- Authority
- CN
- China
- Prior art keywords
- picture
- load request
- request
- optimization processing
- interception
- 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
- 238000011068 loading method Methods 0.000 title claims abstract description 67
- 238000003860 storage Methods 0.000 title claims abstract description 32
- 238000012545 processing Methods 0.000 claims abstract description 102
- 238000005457 optimization Methods 0.000 claims abstract description 87
- 238000000034 method Methods 0.000 claims abstract description 19
- 230000006870 function Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 17
- 230000000977 initiatory effect Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 14
- 230000006835 compression Effects 0.000 description 8
- 238000007906 compression Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种图片加载方法、装置、计算机设备及存储介质。本发明应用于开发领域中的研发过程优化。所述方法包括:根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。通过实施本发明实施例的方法可对拦截的图片进行各项优化处理,提高图片的加载速度,在每次加载时不会重复去发起加载请求,提高用户的使用体验。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种图片加载方法、装置、计算机设备及存储介质。
背景技术
智能手机中安装有各式各样的应用,人们通过这些应用进行娱乐活动,其中,混合模式移动应用使用最为广泛。传统的混合模式移动应用开发模式下通过Html5显示页面时,每次都需要加载网络地址图片,当用户所浏览的网页内容中包含大量图片时,由于需要加载大量的图片而导致该应用的图片加载时间过长,而且在网络条件差的情况下常常导致图片迟迟加载不全,页面加载性能差,影响用户体验。
发明内容
本发明实施例提供了一种图片加载方法、装置、计算机设备及存储介质,旨在解决大量的图片加载时间过长的问题。
第一方面,本发明实施例提供了一种图片加载方法,其包括:根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
第二方面,本发明实施例还提供了一种图片加载装置,其包括:注册单元,用于根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;拦截单元,用于通过所述拦截指令对所述图片加载请求进行拦截;标记单元,用于对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;优化单元,用于将所获取的图片进行优化处理得到优化处理后的图片;存储单元,用于将所述优化处理后的图片存储到缓存中;以及返回单元,用于从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
第三方面,本发明实施例还提供了一种计算机设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述方法。
本发明实施例提供了一种图片加载方法、装置、计算机设备及存储介质。其中,所述方法包括:根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。本发明实施例由于拦截指令拦截图片加载请求以对图片进行优化处理,可实现对拦截的图片进行各项优化处理,提高图片的加载速度,在每次加载时不会重复去发起加载请求,提高用户的使用体验的效果。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的图片加载方法的应用场景示意图;
图2为本发明实施例提供的图片加载方法的流程示意图;
图3为本发明实施例提供的图片加载方法的子流程示意图;
图4为本发明实施例提供的图片加载方法的子流程示意图;
图5为本发明实施例提供的图片加载方法的子流程示意图;
图6为本发明实施例提供的图片加载方法的子流程示意图;
图7为本发明实施例提供的图片加载装置的示意性框图;
图8为本发明实施例提供的图片加载装置的具体单元的示意性框图;以及
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1和图2,图1为本发明实施例提供的图片加载方法的应用场景示意图。图2为本发明实施例提供的图片加载方法的示意性流程图。该图片加载方法应用在终端10中,通过终端10与服务器20之间的交互实现。
本发明具体应用在安装了混合模式移动应用(Hybrid APP)的终端中,混合模式移动应用是指介于基于Web的应用(Web-APP)与本地化应用(Native-APP)这两者之间的应用,其不仅具有本地化应用的良好用户交互体验的优势而且还具有基于Web的应用的跨平台开发的优势。总的来说,混合模式移动应用指的是一个同时使用网页语言与程序语言开发,通过应用商店区分移动操作系统分发,用户需要安装使用的移动应用。
本发明是基于IOS系统来实现的,在IOS系统中,用户使用Hybrid app浏览网页时需要用到Webview。Webview指的是网页控件,是一个用来展示web页面的控件,即通过Webview来展示给用户浏览的内容。当用户打开一个包含有图片的网页时,Webview会向服务器发送加载该图片的请求,请求从服务器中下载该网络图片然后再进行加载,从而在Webview中显示该网页图片给用户。但是,若用户打开的网页中包含有大量的图片,会严重影响图片的响应速度。因此,本发明通过拦截指令将Webview发送的图片加载请求进行拦截,将所拦截到的图片进行优化处理并存储到缓存中。这样可以使得相同的图片不必每次都发起图片加载请求,直接在缓存中加载以加快图片的响应速度。
图2是本发明实施例提供的图片加载方法的流程示意图。如图所示,该方法包括以下步骤S110-160。
S110、根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令。
在一实施例中,拦截指令指的是NSURLProtocol的一个子类,NSURLProtocol是一个抽象类,其可以拦截所有基于加载系统(URL LoadingSystem)的网络请求。加载系统是IOS一系列类和协议组成的集合,用于操作相关的URL。在本实施例中,网页控件所发出的图片加载请求为NSURLRequest,其为基于加载系统的请求,因此可以被NSURLProtocol进行拦截。由于NSURLProtocol是一个抽象类,因此需要创建并注册成为其子类才能实现拦截,所以首先要创建并注册一个拦截指令,该拦截指令用于拦截图片加载请求,以将网页控件发起的图片加载请求进行拦截。
S120、通过所述拦截指令对所述图片加载请求进行拦截。
在一实施例中,由于NSURLProtocol的拦截机制是在每一个网络请求发起的时候,加载系统都会向一系列的NSURLProtocol询问是否可以处理该请求。若该请求是需要处理的,那么就用相对应的NSURLProtocol来处理该请求。在本实施例中,由于已预先创建并注册了用于拦截图片加载请求的拦截指令,使得该拦截指令成为NSURLProtocol的子类,当网络请求发起时,加载系统就会向拦截指令询问是否拦截该网络请求,若该网络请求是图片加载请求,那么拦截指令就会对所发起的图片加载请求进行拦截。
在一实施例中,如图3所示,所述步骤S120可包括步骤S121-S122。
S121、判断发起的网络请求是否为所述图片加载请求。
在一实施例中,每发起一个网络请求,系统都会向已创建并注册好的拦截指令询问是否需要将该网络请求进行拦截。拦截指令根据发起的网络请求判断该网络请求是否为所要拦截的图片加载请求并返回一个判断值来进行判定。
S122、若发起的网络请求为所述图片加载请求,则通过所述拦截指令对所述图片加载请求进行拦截。
在一实施例中,若拦截指令返回的判断值为是,判定该网络请求为图片加载请求,拦截指令就会将该图片加载请求进行拦截。若拦截指令返回的判断值为否,那么拦截请求则不进行拦截,放行该网络请求。
S130、对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片。
在一实施例中,拦截指令将图片加载请求拦截后,为了获取图片以对图片进行相应的操作,需要重新发送图片加载请求以请求从服务器中下载图片从而获取图片。然而若该重新发送的图片加载请求没有做标记的话,就会将该重新发送的图片加载请求进行拦截,于是又重新发送图片加载请求,接着又被拦截,如此往复循环,会造成死循环。因此,为了防止死循环,需要对图片加载请求进行标记,以识别该图片加载请求是否已处理过。若该图片加载请求有标记,则表明该图片加载请求已处理过就不再处理;若该图片加载请求没有标记,则表明该图片加载请求未处理过需要处理该图片加载请求,从而解决了死循环的问题。具体地,修改所述图片加载请求,在所述图片加载请求的头部添加标记,表明所述图片加载请求已处理。
在一实施例中,如图4所示,所述步骤S130可包括步骤S131-S132。
S131、创建所述图片加载请求并进行标记。
在一实施例中,为了从服务器中获取图片,重新创建一个图片加载请求,且再对重新创建的图片加载请求进行标记以防止拦截指令进行拦截。
S132、将所述图片加载请求发送至服务器以获取图片。
在一实施例中,标记了图片加载请求后再将图片加载请求发送至服务器以从服务器中获取到所要加载的图片。
S140、将所获取的图片进行优化处理得到优化处理后的图片
在一实施例中,获取到所要加载的图片后可对该图片进行优化处理。其中,优化处理包括压缩处理、添加水印等处理方式,当然可以理解的是,还可以是其他方式的优化处理。
在一实施例中,如图5所示,所述步骤S140可包括步骤:S141-142。
S141、将所获取的图片传递给原生函数。
在一实施例中,原生函数(Native)是系统中的底层函数,通过原生函数可以调用非系统语言的脚本。在获取到图片之后,将图片专递给原生函数,交由原生函数来对图片进行优化处理。
S142、通过所述原生函数调用图片优化脚本来对所获取的图片进行优化处理得到优化处理后的图片。
在一实施例中,图片优化脚本为非系统语言的脚本,其可以被原生函数调用。具体地,图片优化脚本为图片压缩脚本,图片压缩脚本用于将图片的大小进行压缩。在将图片传递给原生函数之后,通过原生函数调用图片压缩脚本对图片进行压缩,以加快图片的加载速度。在其他方案中,图片优化脚本还可以是添加水印脚本,其可以在图片上添加水印,以防止他人盗用图片。
S150、将所述优化处理后的图片存储到缓存中。
在一实施例中,在得到优化处理后的图片之后,再为该图片创建缓存以将图片缓存起来。使得请求加载相同的图片时不必每次都发起图片加载请求,直接在缓存中加载,加快图片的响应速度。
在一实施例中,如图6所示,所述步骤S150可包括步骤S151-S153。
S151、根据所述图片加载请求获取所述图片的图片名称。
在一实施例中,为了将优化处理后的图片缓存起来,首先需要根据图片加载请求获取该图片的图片名称,以便再次加载该图片时直接通过该图片的图片名称从缓存中提取出来进行加载。
S152、根据所述图片名称创建所述优化处理后的图片的键值对。
在一实施例中,键值对指的是键(Key)与值(value)的映射关系,在本实施例中,键指的是图片的图片名称,值指的是图片。在获取到图片名称之后,根据图片名称创建与图片之间的映射关系,通过图片名称即可从缓存中快速获取图片。例如,该图片的名称为DCIM,根据DCIM从缓存中查找对应DCIM的图片从而获取图片。
S153、将所述优化处理后的图片存储到缓存中。
在一实施例中,创建好优化处理后的图片的键值对之后,将优化处理后的图片存储到缓存中即可。
S160、从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
在一实施例中,由于图片加载请求是由网页控件发出的,而拦截后重新发送的图片加载请求不是由网页控件发出的,拦截后该图片加载请求的响应是无法回到网页控件的,因为这两个图片加载请求不是从同一个地方发出的,因而响应无法回到网页控件。因此需要通过加载系统来实现将图片加载请求的响应返回至网页控件。因为图片加载请求是由网页控件通过加载系统发出的,因而该图片加载请求的响应可通过加载系统返回至网页控件。具体地,图片加载请求的响应即优化处理后的图片,根据图片名称从缓存中获取该图片通过加载系统返回至网页控件,最终由网页控件进行加载在页面中显示该图片。
本发明实施例一种图片加载方法通过根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载,可以对拦截的图片进行各项优化处理,提高图片的加载速度,在每次加载时不会重复去发起加载请求,提高用户的使用体验。
图7是本发明实施例提供的一种图片加载装置200的示意性框图。如图7所示,对应于以上图片加载方法,本发明还提供一种图片加载装置200。该图片加载装置200包括用于执行上述图片加载方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图7,该图片加载装置200包括注册单元210、拦截单元220、标记单元230、优化单元240、存储单元250以及返回单元260。
注册单元210,用于根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令。
在一实施例中,拦截指令指的是NSURLProtocol的一个子类,NSURLProtocol是一个抽象类,其可以拦截所有基于加载系统(URL Loading System)的网络请求。加载系统是IOS一系列类和协议组成的集合,用于操作相关的URL。在本实施例中,网页控件所发出的图片加载请求为NSURLRequest,其为基于加载系统的请求,因此可以被NSURLProtocol进行拦截。由于NSURLProtocol是一个抽象类,因此需要创建并注册成为其子类才能实现拦截,所以首先要创建并注册一个拦截指令,该拦截指令用于拦截图片加载请求,以将网页控件发起的图片加载请求进行拦截。
拦截单元220,用于通过所述拦截指令对所述图片加载请求进行拦截。
在一实施例中,由于NSURLProtocol的拦截机制是在每一个网络请求发起的时候,加载系统都会向一系列的NSURLProtocol询问是否可以处理该请求。若该请求是需要处理的,那么就用相对应的NSURLProtocol来处理该请求。在本实施例中,由于已预先创建并注册了用于拦截图片加载请求的拦截指令,使得该拦截指令成为NSURLProtocol的子类,当网络请求发起时,加载系统就会向拦截指令询问是否拦截该网络请求,若该网络请求是图片加载请求,那么拦截指令就会对所发起的图片加载请求进行拦截。
在一实施例中,如图8所示,所述拦截单元220可包括子单元:判断单元221以及拦截子单元222。
判断单元221,用于判断发起的网络请求是否为所述图片加载请求。
在一实施例中,每发起一个网络请求,系统都会向已创建并注册好的拦截指令询问是否需要将该网络请求进行拦截。拦截指令根据发起的网络请求判断该网络请求是否为所要拦截的图片加载请求并返回一个判断值来进行判定。
拦截子单元222,用于若发起的网络请求为所述图片加载请求,则通过所述拦截指令对所述图片加载请求进行拦截。
在一实施例中,若拦截指令返回的判断值为是,判定该网络请求为图片加载请求,拦截指令就会将该图片加载请求进行拦截。若拦截指令返回的判断值为否,那么拦截请求则不进行拦截,放行该网络请求。
标记单元230,用于对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片。
在一实施例中,拦截指令将图片加载请求拦截后,为了获取图片以对图片进行相应的操作,需要重新发送图片加载请求以请求从服务器中下载图片从而获取图片。然而若该重新发送的图片加载请求没有做标记的话,就会将该重新发送的图片加载请求进行拦截,于是又重新发送图片加载请求,接着又被拦截,如此往复循环,会造成死循环。因此,为了防止死循环,需要对图片加载请求进行标记,以识别该图片加载请求是否已处理过。若该图片加载请求有标记,则表明该图片加载请求已处理过就不再处理;若该图片加载请求没有标记,则表明该图片加载请求未处理过需要处理该图片加载请求,从而解决了死循环的问题。
在一实施例中,如图8所示,所述标记单元230可包括子单元:标记子单元231以及发送单元232。
标记子单元231,用于创建所述图片加载请求并进行标记。
在一实施例中,由于图片加载请求被拦截指令拦截了,为了从服务器中获取图片重新创建一个图片加载请求,且再对重新创建的图片加载请求进行标记以防止拦截指令进行拦截。
发送单元232,用于将所述图片加载请求发送至服务器以获取图片。
在一实施例中,标记了图片加载请求后再将图片加载请求发送至服务器以从服务器中获取到所要加载的图片。
优化单元240,用于将所获取的图片进行优化处理得到优化处理后的图片
在一实施例中,获取到所要加载的图片后可对该图片进行优化处理。其中,优化处理包括压缩处理、添加水印等处理方式,当然可以理解的是,还可以是其他方式的优化处理。
在一实施例中,如图8所示,所述优化单元240可包括子单元:传递单元241以及调用单元242。
传递单元241,用于将所获取的图片传递给原生函数。
在一实施例中,原生函数(Native)是系统中的底层函数,通过原生函数可以调用非系统语言的脚本。在获取到图片之后,将图片专递给原生函数,交由原生函数来对图片进行优化处理。
调用单元242,用于通过所述原生函数调用图片优化脚本来对所获取的图片进行优化处理得到优化处理后的图片。
在一实施例中,图片优化脚本为非系统语言的脚本,其可以被原生函数调用。具体地,图片优化脚本为图片压缩脚本,图片压缩脚本用于将图片的大小进行压缩。在将图片传递给原生函数之后,通过原生函数调用图片压缩脚本对图片进行压缩,以加快图片的加载速度。在其他方案中,图片优化脚本还可以是添加水印脚本,其可以在图片上添加水印,以防止他人盗用图片。
存储单元250,用于将所述优化处理后的图片存储到缓存中。
在一实施例中,在得到优化处理后的图片之后,再为该图片创建缓存以将图片缓存起来。使得请求加载相同的图片时不必每次都发起图片加载请求,直接在缓存中加载,加快图片的响应速度。
在一实施例中,如图8所示,所述存储单元250可包括子单元:获取单元251、创建单元252以及存储子单元253。
获取单元251,用于根据所述图片加载请求获取所述图片的图片名称。
在一实施例中,为了将优化处理后的图片缓存起来,首先需要根据图片加载请求获取该图片的图片名称,以便再次加载该图片时直接通过该图片的图片名称从缓存中提取出来进行加载。
创建单元252,用于根据所述图片名称创建所述优化处理后的图片的键值对。
在一实施例中,键值对指的是键(Key)与值(value)的映射关系,在本实施例中,键指的是图片的图片名称,值指的是图片。在获取到图片名称之后,根据图片名称创建与图片之间的映射关系,通过图片名称即可从缓存中快速获取图片。例如,该图片的名称为DCIM,根据DCIM从缓存中查找对应DCIM的图片从而获取图片。
存储子单元253,用于将所述优化处理后的图片存储到缓存中。
在一实施例中,创建好优化处理后的图片的键值对之后,将优化处理后的图片存储到缓存中即可。
返回单元260,用于从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
在一实施例中,由于图片加载请求是由网页控件发出的,而拦截后重新发送的图片加载请求不是由网页控件发出的,拦截后该图片加载请求的响应是无法回到网页控件的,因为这两个图片加载请求不是从同一个地方发出的,因而响应无法回到网页控件。因此需要通过加载系统来实现将图片加载请求的响应返回至网页控件。因为图片加载请求是由网页控件通过加载系统发出的,因而该图片加载请求的响应可通过加载系统返回至网页控件。具体地,图片加载请求的响应即优化处理后的图片,根据图片名称从缓存中获取该图片通过加载系统返回至网页控件,最终由网页控件进行加载在页面中显示该图片。
本发明实施例一种图片加载装置通过根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载,可以对拦截的图片进行各项优化处理,提高图片的加载速度,在每次加载时不会重复去发起加载请求,提高用户的使用体验。
上述图片加载装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种图片加载方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种图片加载方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
在一实施例中,处理器502在实现所述通过所述拦截指令对所述图片加载请求进行拦截步骤时,具体实现如下步骤:判断发起的网络请求是否为所述图片加载请求;若发起的网络请求为所述图片加载请求,则通过所述拦截指令对所述图片加载请求进行拦截。
在一实施例中,处理器502在实现所述对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片步骤时,具体实现如下步骤:创建所述图片加载请求并进行标记;将所述图片加载请求发送至服务器以获取图片。
在一实施例中,处理器502在实现所述将所获取的图片进行优化处理得到优化处理后的图片步骤时,具体实现如下步骤:将所获取的图片传递给原生函数;通过所述原生函数调用图片优化脚本来对所获取的图片进行优化处理得到优化处理后的图片。
在一实施例中,处理器502在实现所述所述将所述优化处理后的图片存储到缓存中步骤时,具体实现如下步骤:根据所述图片加载请求获取所述图片的图片名称;根据所述图片名称创建所述优化处理后的图片的键值对;将所述优化处理后的图片存储到缓存中。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;通过所述拦截指令对所述图片加载请求进行拦截;对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;将所获取的图片进行优化处理得到优化处理后的图片;将所述优化处理后的图片存储到缓存中;以及从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
在一实施例中,所述处理器在执行所述程序指令而实现所述通过所述拦截指令对所述图片加载请求进行拦截步骤时,具体实现如下步骤:判断发起的网络请求是否为所述图片加载请求;若发起的网络请求为所述图片加载请求,则通过所述拦截指令对所述图片加载请求进行拦截。
在一实施例中,所述处理器在执行所述程序指令而实现所述对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片步骤时,具体实现如下步骤:创建所述图片加载请求并进行标记;将所述图片加载请求发送至服务器以获取图片。
在一实施例中,所述处理器在执行所述程序指令而实现所述将所获取的图片进行优化处理得到优化处理后的图片步骤时,具体实现如下步骤:将所获取的图片传递给原生函数;通过所述原生函数调用图片优化脚本来对所获取的图片进行优化处理得到优化处理后的图片。
在一实施例中,所述处理器在执行所述程序指令而实现所述将所述优化处理后的图片存储到缓存中步骤时,还实现如下步骤:根据所述图片加载请求获取所述图片的图片名称;根据所述图片名称创建所述优化处理后的图片的键值对;将所述优化处理后的图片存储到缓存中。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种图片加载方法,其特征在于,包括:
根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;
通过所述拦截指令对所述图片加载请求进行拦截;
对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;
将所获取的图片进行优化处理得到优化处理后的图片;
将所述优化处理后的图片存储到缓存中;以及
从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
2.根据权利要求1所述的图片加载方法,其特征在于,所述通过所述拦截指令对所述图片加载请求进行拦截,包括:
判断发起的网络请求是否为所述图片加载请求;
若发起的网络请求为所述图片加载请求,则通过所述拦截指令对所述图片加载请求进行拦截。
3.根据权利要求1所述的图片加载方法,其特征在于,所述对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片,包括:
创建所述图片加载请求并进行标记;
将所述图片加载请求发送至服务器以获取图片。
4.根据权利要求1所述的图片加载方法,其特征在于,所述将所获取的图片进行优化处理得到优化处理后的图片,包括:
将所获取的图片传递给原生函数;
通过所述原生函数调用图片优化脚本来对所获取的图片进行优化处理得到优化处理后的图片。
5.根据权利要求1所述的图片加载方法,其特征在于,所述将所述优化处理后的图片存储到缓存中,包括:
根据所述图片加载请求获取所述图片的图片名称;
根据所述图片名称创建所述优化处理后的图片的键值对;
将所述优化处理后的图片存储到缓存中。
6.一种图片加载装置,其特征在于,包括:
注册单元,用于根据网页控件所发出的图片加载请求创建并注册用于拦截所述图片加载请求的拦截指令;
拦截单元,用于通过所述拦截指令对所述图片加载请求进行拦截;
标记单元,用于对所述图片加载请求进行标记以将所述图片加载请求发送至服务器获取图片;
优化单元,用于将所获取的图片进行优化处理得到优化处理后的图片;
存储单元,用于将所述优化处理后的图片存储到缓存中;以及
返回单元,用于从缓存中获取所述优化处理后的图片返回至所述网页控件进行加载。
7.根据权利要求6所述的图片加载装置,其特征在于,包括:
判断单元,用于判断发起的网络请求是否为所述图片加载请求;
拦截子单元,用于若发起的网络请求为所述图片加载请求,则通过所述拦截指令对所述图片加载请求进行拦截。
8.根据权利要求6所述的图片加载装置,其特征在于,包括:
传递单元,用于将所获取的图片传递给原生函数;
调用单元,用于通过所述原生函数调用图片优化脚本来对所获取的图片进行优化处理得到优化处理后的图片。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207627.9A CN109582889A (zh) | 2018-10-17 | 2018-10-17 | 图片加载方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811207627.9A CN109582889A (zh) | 2018-10-17 | 2018-10-17 | 图片加载方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109582889A true CN109582889A (zh) | 2019-04-05 |
Family
ID=65920548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811207627.9A Pending CN109582889A (zh) | 2018-10-17 | 2018-10-17 | 图片加载方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109582889A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198998A (zh) * | 2019-12-31 | 2020-05-26 | 北京指掌易科技有限公司 | 基于Ajax请求的网络页面加载方法、装置及系统 |
CN113590011A (zh) * | 2021-10-08 | 2021-11-02 | 北京海誉动想科技股份有限公司 | 触发指令拦截方法与装置 |
CN113946380A (zh) * | 2020-07-17 | 2022-01-18 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685179A (zh) * | 2012-09-12 | 2014-03-26 | 中国移动通信集团公司 | 一种内容压缩方法、装置及系统 |
US20150163087A1 (en) * | 2013-12-05 | 2015-06-11 | Riverbed Technology, Inc. | Transparently intercepting and optimizing resource requests |
CN105959502A (zh) * | 2016-04-27 | 2016-09-21 | 北京小米移动软件有限公司 | 网络图片压缩方法及装置 |
CN106598567A (zh) * | 2016-11-03 | 2017-04-26 | 广州凯耀资产管理有限公司 | 一种终端设备页面元素的显示方法及显示装置 |
CN107332843A (zh) * | 2017-07-01 | 2017-11-07 | 华泰证券股份有限公司 | iOS网络请求拦截转发缓存方法及系统 |
CN107729352A (zh) * | 2017-08-30 | 2018-02-23 | 上海壹账通金融科技有限公司 | 页面资源加载方法及终端设备 |
CN107911456A (zh) * | 2017-11-17 | 2018-04-13 | 深圳泉眼体育运营管理有限公司 | 图片加载的流量优化方法、装置、终端设备及存储介质 |
CN107977371A (zh) * | 2016-10-21 | 2018-05-01 | 阿里巴巴集团控股有限公司 | 页面元素的请求方法、显示方法及客户端 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
CN108520031A (zh) * | 2018-03-27 | 2018-09-11 | 广东能龙教育股份有限公司 | 一种提升加载网页速度的方法 |
-
2018
- 2018-10-17 CN CN201811207627.9A patent/CN109582889A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685179A (zh) * | 2012-09-12 | 2014-03-26 | 中国移动通信集团公司 | 一种内容压缩方法、装置及系统 |
US20150163087A1 (en) * | 2013-12-05 | 2015-06-11 | Riverbed Technology, Inc. | Transparently intercepting and optimizing resource requests |
CN105959502A (zh) * | 2016-04-27 | 2016-09-21 | 北京小米移动软件有限公司 | 网络图片压缩方法及装置 |
CN107977371A (zh) * | 2016-10-21 | 2018-05-01 | 阿里巴巴集团控股有限公司 | 页面元素的请求方法、显示方法及客户端 |
CN106598567A (zh) * | 2016-11-03 | 2017-04-26 | 广州凯耀资产管理有限公司 | 一种终端设备页面元素的显示方法及显示装置 |
CN107332843A (zh) * | 2017-07-01 | 2017-11-07 | 华泰证券股份有限公司 | iOS网络请求拦截转发缓存方法及系统 |
CN107729352A (zh) * | 2017-08-30 | 2018-02-23 | 上海壹账通金融科技有限公司 | 页面资源加载方法及终端设备 |
CN107911456A (zh) * | 2017-11-17 | 2018-04-13 | 深圳泉眼体育运营管理有限公司 | 图片加载的流量优化方法、装置、终端设备及存储介质 |
CN108228818A (zh) * | 2017-12-29 | 2018-06-29 | 网易(杭州)网络有限公司 | 网页资源加载方法及装置、电子设备、以及存储介质 |
CN108520031A (zh) * | 2018-03-27 | 2018-09-11 | 广东能龙教育股份有限公司 | 一种提升加载网页速度的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198998A (zh) * | 2019-12-31 | 2020-05-26 | 北京指掌易科技有限公司 | 基于Ajax请求的网络页面加载方法、装置及系统 |
CN111198998B (zh) * | 2019-12-31 | 2023-08-08 | 北京指掌易科技有限公司 | 基于Ajax请求的网络页面加载方法、装置及系统 |
CN113946380A (zh) * | 2020-07-17 | 2022-01-18 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN113946380B (zh) * | 2020-07-17 | 2024-05-10 | 西安诺瓦星云科技股份有限公司 | 图片加载方法、装置以及视频处理设备 |
CN113590011A (zh) * | 2021-10-08 | 2021-11-02 | 北京海誉动想科技股份有限公司 | 触发指令拦截方法与装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714675B2 (en) | Virtualization-based transaction handling in an on-demand network code execution system | |
US9953014B1 (en) | Collection management in document object model virtualization | |
US9703761B2 (en) | Delayed code parsing for reduced startup latency | |
US9450803B2 (en) | Efficient delivery of content by virtualization of dynamic interaction with the document object model | |
US10009439B1 (en) | Cache preloading | |
US9825812B2 (en) | Transparently intercepting and optimizing resource requests | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
US20140143647A1 (en) | Method for improving browser cache by reducing duplicate stored content | |
WO2018049888A1 (zh) | 应用数据的迁移方法及装置 | |
US9401949B1 (en) | Client web content cache purge | |
CN109582889A (zh) | 图片加载方法、装置、计算机设备及存储介质 | |
US20160224329A1 (en) | Automated software configuration management | |
US9560160B1 (en) | Prioritization of the delivery of different portions of an image file | |
CN104965712A (zh) | 应用程序加固保护方法、装置及移动终端 | |
US9386119B2 (en) | Mobile web adaptation techniques | |
US9679075B1 (en) | Efficient delivery of animated image files | |
US10594764B2 (en) | Request cache to improve web applications performance | |
US9645984B2 (en) | Efficient delivery of content by virtualization of static interaction with the document object model | |
US10891259B2 (en) | User driven data pre-fetch | |
CN109800370A (zh) | 网页页面的显示方法、装置、计算机设备及存储介质 | |
CN114443024B (zh) | 实现不限制嵌套层级的可视化ui拖拽布局的方法及系统 | |
WO2015153528A1 (en) | Data view exposure mechanisms | |
CN109325192B (zh) | 一种广告防屏蔽的方法和装置 | |
CN104408178A (zh) | Web控件加载装置和方法 | |
CN114064032A (zh) | 源代码处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |