一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图片加载方法、装置、电子终端及存储介质与流程

2022-03-02 00:25:49 来源:中国专利 TAG:


1.本发明实施例涉及计算机技术,尤其涉及一种图片加载方法、装置、电子终端及存储介质。


背景技术:

2.现有技术中,软件应用进行图片显示时,常使用图片加载框架根据图片的统一资源定位符(uniform resource locator,url),对图片进行加载显示。
3.现有技术的不足之处至少包括:一、图片的url具备时效性,与url对应的已缓存图片在时效期后需再次加载;二、同一图片在不同加载场景中需根据不同url加载,导致各场景下重复等待图像加载;三、当图片分辨率较高时,加载耗时较长,导致用户等待时长较长,影响用户体验。


技术实现要素:

4.有鉴于此,本发明实施例提供了一种图片加载方法、装置、电子终端及存储介质,能够消除缓存图片时效性,避免不同场景下重复等待图像加载,减少用户等待时长,从而可提高用户体验。
5.第一方面,本发明实施例提供了一种图片加载方法,包括:
6.响应于目标图片的加载事件,根据所述目标图片的统一资源定位符,确定所述目标图片在至少一种分辨率下的图片标识;
7.从所述图片标识中确定与所述加载事件对应的目标标识,以所述目标标识为起点,按对应的分辨率由高到低的顺序依次从所述图片标识中确定当前查询标识;
8.循环根据所述当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至所述当前查询标识与所述至少一种分辨率中的最低分辨率对应,且查询失败为止;
9.若查询成功,则加载查询得到的目标图片;若所述当前查询标识与所述最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片;其中所述预设分辨率小于所述最低分辨率。
10.第二方面,本发明实施例还提供了一种图片加载装置,包括:
11.图片标识确定模块,用于响应于目标图片的加载事件,根据所述目标图片的统一资源定位符,确定所述目标图片在至少一种分辨率下的图片标识;
12.查询标识确定模块,用于从所述图片标识中确定与所述加载事件对应的目标标识,以所述目标标识为起点,按对应的分辨率由高到低的顺序依次从所述图片标识中确定当前查询标识;
13.查询模块,用于循环根据所述当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至所述当前查询标识与所述至少一种分辨率中的最低分辨率对应,且查询失败为止;
14.加载模块,用于若查询成功,则加载查询得到的目标图片;若所述当前查询标识与
所述最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片;其中所述预设分辨率小于所述最低分辨率。
15.第三方面,本发明实施例还提供了一种电子终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本技术任意实施例提供的图片加载方法。
16.第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本技术任意实施例提供的图片加载方法。
17.本发明实施例提供的一种图片加载方法、装置、电子终端及存储介质,该图片加载方法包括:响应于目标图片的加载事件,根据目标图片的统一资源定位符,确定目标图片在至少一种分辨率下的图片标识;从图片标识中确定与加载事件对应的目标标识,以目标标识为起点,按对应的分辨率由高到低的顺序依次从图片标识中确定当前查询标识;循环根据当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至当前查询标识与至少一种分辨率中的最低分辨率对应,且查询失败为止;若查询成功,则加载查询得到的目标图片;若当前查询标识与最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片;其中预设分辨率小于最低分辨率。
18.相较于传统的缓存图片与具备时效性的url的对应,本发明发实施例通过增设目标图片的图片标识,并在预设存储空间存储与图片标识对应的目标图片,实现了缓存图片与图片标识的对应关系的设置。由于图片标识可不随时间变化,在根据目标图片的url确定图片标识后,可根据图片标识查询目标图片,从而能够消除缓存图片的时效性,避免图片在时效期后再次加载的情况出现。
19.相较于传统的同一图片在不同加载场景对应不同url,本发明发实施例通过在任一加载事件下确定目标图片各分辨率的图片标识,并根据当前加载事件从图片标识中确定需要查询的标识,使得同一图片在不同加载场景下对应同一套图片标识。由于不同加载场景下皆可根据同一套图片标识对存储的目标图片进行查询,能够利用已经存储的目标图片进行加载,避免用户重复等待图像加载,提高用户体验。
20.此外,在图片分辨率较高时,通过对利用已经存储的目标图片进行加载,或者下载并加载分辨率低的预设分辨率的目标图片,能够实现对目标图片的快速显示,减少用户等待时长,提高用户体验。
附图说明
21.图1是本发明实施例一提供的一种图片加载方法的流程示意图;
22.图2是本发明实施例三提供的一种图片加载方法的流程框图;
23.图3是本发明实施例三提供的另一种图片加载方法的流程框图;
24.图4是本发明实施例四提供的一种图片加载装置的结构示意图;
25.图5是本发明实施例五提供的一种电子终端的结构示意图。
具体实施方式
26.为使本发明的目的、技术方案和优点更加清楚,以下将参照本发明实施例中的附图,通过实施方式清楚、完整地描述本发明的技术方案,显然,所描述的实施例是本发明一
部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下述各实施例中,每个实施例中同时提供了可选特征和示例,实施例中记载的各个特征可进行组合,形成多个可选方案,不应将每个编号的实施例仅视为一个技术方案。
27.实施例一
28.图1是本发明实施例一提供的一种图片加载方法的流程示意图。本实施例可适用于加载图片的情况,例如适用于应用软件中各加载场景下加载图片的情况。本发明实施例提供的图片加载方法可以由图片加载装置来执行,该装置可采用软件和/或硬件的方式实现。图片加载装置可以集成于软件应用中,且可以随软件应用安装于电子终端中,例如安装于手机、电脑等电子终端中。
29.参见图1,本实施例提供的图片加载方法,可以包括:
30.s110、响应于目标图片的加载事件,根据目标图片的统一资源定位符,确定目标图片在至少一种分辨率下的图片标识。
31.目标图片可以理解为当前需要加载的图片。
32.安装图片加载装置的软件应用可以包括但不限于,通信类应用、社区分享类应用和资讯类应用等具有图片加载功能的应用。不同应用涉及加载图片的场景不同,相应的加载事件也存在差异。例如,社区分享类应用可以在分享详情页的场景中加载分享内容配图,相应的目标图片的加载事件可以是打开分享详情页。又如,资讯类应用可以在资讯推荐页的场景中加载资讯配图,相应的目标图片的加载事件可以是刷新资讯推荐页。在此不对各应用中目标图片的加载事件进行穷举。
33.不同加载场景下需要加载不同分辨率的目标图片。例如,在资讯类应用中,资讯预览页中的资讯配图可以为分辨率较小的图片,资讯详情页中的资讯配图可以为分辨率较高的图片。由于不同加载场景对应不同加载事件,加载事件可与目标图片的分辨率具备对应关系。
34.其中,可以根据目标图片的加载事件,向服务器发送该加载事件对应分辨率的目标图片的加载请求,以使服务器反馈对应的分辨率的目标图片的统一资源定位符(uniform resource locator,url)。其中,服务器可以基于下述步骤生成目标图片的url:接收客户端应用上传的原始分辨率的目标图片;将该原始分辨率的目标图片处理为至少一种分辨率下的目标图片;将原始分辨率和处理后的各分辨率下的目标图片存储至不同位置,根据存储位置确定不同分辨率下目标图片的url。其中,不同分辨率下目标图片的url具备对应关系,可根据任一分辨率下的url确定其他分辨率下的url。
35.图片标识可以为图片存储时的命名,且一个图片标识可以与一种分辨率下的目标图片唯一对应。在获取到加载事件对应分辨率的目标图片的url后,可以基于预设的存储命名规则确定基准url,判断获取的url是否为基准url;若是,则直接对获取的url进行处理得到各分辨率下的图片标识;若否,则可根据url间的对应关系,根据获取的url进一步从服务器获取基准url,对基准url进行处理得到各分辨率下的图片标识。
36.其中,对获取的url/基准url进行处理,得到各分辨率下的图片标识可以包括:对url进行预处理(例如过滤、去空格、去字符、去重等预处理);对预处理结果进行不同方式的编码,得到各分辨率下的图片标识;或者,对预处理结果进行相同方式的编码,添加不同标
识符,得到各分辨率下的图片标识。
37.s120、从图片标识中确定与加载事件对应的目标标识,以目标标识为起点,按对应的分辨率由高到低的顺序依次从图片标识中确定当前查询标识。
38.由于加载事件可与目标图片的分辨率具备对应关系,可以根据加载事件确定目标图片当前需要加载的分辨率。进而,可以根据当前需要加载的分辨率,从目标图片各分辨率下的图片标识中确定出目标标识。
39.其中,目标图片的分辨率可以从高到低划分为不同级别。可以按分辨率由高到低的顺序,依次确定级别低于目标标识对应的分辨率的其他分辨率,进而可得到依次确定的其他分辨率对应的图片标识。其中,可以将目标标识,以及按顺序得到的图片标识依次作为当前查询标识。
40.s130、循环根据当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至当前查询标识与至少一种分辨率中的最低分辨率对应,且查询失败为止。
41.在确定当前查询标识后,可根据当前查询标识从预设存储空间中查询对应分辨率的目标图片。若查询成功则可以停止循环查询;若查询失败则可以确定新的当前查询标识,并根据新的当前查询标识查询目标图片。并且,可以在当前查询标识为至少一种分辨率中的最低分辨率对应的图片标识,且查询失败时,停止循环查询。
42.可以理解为,从当前需要加载的分辨率开始,按分辨率由高到低的顺序依次从预设存储空间中查询是否已存储了对应的目标图片,直到查询到目标图片结束,或直到最低分辨率结束。
43.s140、若查询成功,则加载查询得到的目标图片;若当前查询标识与最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片。
44.在循环查找目标图片中,通过从分辨率高到底的顺序查询目标图片,可以保证接近当前需要加载的分辨率优先被查询。在查询成功时,可以将查询的目标图片直接加载显示,利用存储空间资源换取加载时间,在保证加载的目标图片尽量接近需要加载的分辨率基础上,可加快图片加载速度。
45.其中,预设分辨率小于最低分辨率。预设分辨率可以根据实际的加载场景预先设置,以均衡下载速度和清晰度。示例性的,当加载场景为在聊天列表页面的图片卡片中加载图片时,预设分辨率可以为100kb,不仅可保证快速下载,还可保证图片在图片卡片中较为清楚地显示。
46.当预设存储空间中未存储各查询标识对应的目标图片时,可以下载并加载预设分辨率的目标图片。由于预设分辨率较小,可实现较为快速的下载,在目标图片查询失败时对预设分辨率的目标图片下载即可,无需占用预设存储空间。此外,在一些实现方式中,可以使用最近最少使用(least recently used,lru)算法控制预设存储空间内缓存图片的数量或大小,从而可进一步节约预设存储空间的存储资源。
47.本实施例中,通过对已存储的目标图片进行加载显示,或者对预设分辨率的目标图片进行下载和加载显示,在用户观感上皆可达到快速显示图片的效果,优化用户体验。
48.在一些可选的实施方式中,根据目标图片的统一资源定位符,确定目标图片在至少一种分辨率下的图片标识,可包括:对目标图片的统一资源定位符中具有时效性的信息进行滤除,对滤除后的统一资源定位符进行加密;针对各分辨率,为加密结果添加对应的后
缀,以生成至少一种分辨率下的图片标识。
49.其中,可以滤除目标图片的基准url中具有时效性的信息,剩余固定不变的信息;其中,具有时效性的信息例如可以为令牌(token)等随时间变化的信息。可以基于信息摘要(message digest,md)系列算法、数据加密标准(data encryption standard,des)算法、高级加密标准(advanced encryption standard,aes)算法等加密算法,对滤除时效性信息的url进行加密。示例性的,假设目标图片的分辨率从小到大可以分为大图分辨率和原图分辨率,加密结果可为img_id。此时,可将img_id后添加_big后缀,生成大图分辨率下的图片标识;将img_id后添加_origin后缀,生成原图分辨率下的图片标识。
50.在这些可选的实施方式中,通过滤除时效性信息,可以保证剩余信息的不变性,能够保证根据任一时刻获得的url得到固定不变的图片标识;通过将过滤后的url进行加密,可以避免存储图片时漏露url信息,保障服务器内图片安全性;通过添加不同后缀得到各分辨率下目标图片的图片标识,能够实现图片标识的形式统一。
51.在一些可选的实现方式中,当图片加载方法应用于通信类应用中时,目标图片的加载事件,可以包括下述至少一项:通信页面中视图控件的渲染事件;图片全屏预览界面的打开事件。
52.其中,通信页面例如可以为聊天列表页面,视图控件例如可以为用于显示图片的图片卡片。在当前终端发送图片时,或接收到了其他终端发送的图片时,可以在聊天列表页面对图片卡片进行渲染,同时触发目标图片的加载。其中,可以在图片卡片被点击后跳转到图片全屏预览界面,即打开了图片全屏预览界面,同时可触发目标图片的加载。
53.在这些可选的实现方式中,通过在通信类应用中涉及图片加载的场景,利用本方案的加载方法加载图片,可以提高聊天中图片查看速度,从而可提高沟通效率。
54.传统的图片加载方法中,虽然图片加载框架也可进行本地缓存,但是图片url通常会在尾部添加token,过了有效期token会改变,导致同一张图片过一段时间后url发生变化,与url对应的图片也就需要重新下载。相较于传统的缓存图片与具备时效性的url的对应,本发明实施例提供的一种图片加载方法,通过增设目标图片的图片标识,并在预设存储空间存储与图片标识对应的目标图片,实现了缓存图片与图片标识的对应关系的设置。由于图片标识可不随时间变化,在根据目标图片的url确定图片标识后,可根据图片标识查询目标图片,从而能够消除缓存图片的时效性,避免图片在时效期后再次加载的情况出现。
55.传统的图片加载方法中,在一种加载场景下加载成功图片后,切换到另一中加载场景时,由于图片url发送变化,需要使用图片加载框架重新下载并加载显示,用户需要重新等待已经加载过的图片。相较于传统的同一图片在不同加载场景对应不同url,本发明实施例提供的一种图片加载方法,通过在任一加载事件下确定目标图片各分辨率的图片标识,并根据当前加载事件从图片标识中确定需要查询的标识,使得同一图片在不同加载场景下对应同一套图片标识。由于不同加载场景下皆可根据同一套图片标识对存储的目标图片进行查询,能够利用已经存储的目标图片进行加载,避免用户重复等待图像加载,提高用户体验。
56.传统的图片加载方法中,加载的图片分辨率较高时,例如加载1000kb的高清图片时,使用图片加载框架加载,会有一个较长的加载时间。本发明实施例提供的一种图片加载方法,通过对利用已经存储的目标图片进行加载显示,或者下载并加载显示分辨率低的预
设分辨率的目标图片,能够实现对目标图片的快速显示,减少用户等待时长,提高用户体验。
57.实施例二
58.本实施例提供的图片加载方法,能够与上述实施例中所提供的图片加载方法中各个可选方案相结合。本实施例提供的生图片加载方法,在下载并加载预设分辨率的目标图片的同时,可以对下载标识对应的分辨率的目标图片进行下载,还可以利用下载的分辨率高的目标图片替换当前加载的分辨率低的目标图片,从而可以在用户无感知的情况下呈现更加清晰的目标图片。
59.此外,还可以将下载的目标图片存储至预设存储空间,以便于在下次加载该目标图片的情况下,直接利用存储的目标图片进行加载,能够加快图片加载速度。并且,还可以在显示预设分辨率的目标图片的同时,在未下载成功目标标识对应的分辨率的目标图片时,进行相应信息提示;在预设分辨率的目标图片加载失败时,用加载占位图,以使用户清楚了解到当前的图片加载情况,提高用户体验。
60.本实施例中,在下载并加载预设分辨率的目标图片的同时,还可以包括:从图片标识中确定下载标识,其中与下载标识对应的分辨率小于等于与目标标识对应的分辨率;下载与下载标识对应的分辨率的目标图片,并根据下载结果对当前加载的目标图片进行替换。
61.当预设存储空间中未存储各查询标识对应的目标图片时,可以下载并加载预设分辨率的目标图片。由于预设分辨率较小,显示的目标图片并未达到需求加载的分辨率的标准。可以在显示预设分辨率的目标图片的同时,下载更高分辨率的目标图片,从而可实现利用下载的目标图片对预设分辨率的目标图片进行替换,以使呈现的目标图片更加清晰。
62.若仅下载目标标识对应的分辨率的目标图片,则存在耗时较长,不能及时提高呈现的目标图片的清晰度的情况。本实施例中,除了将目标标识作为下载标识之外,还可以将对应的分辨率小于目标标识对应的分辨率的其他图片标识,作为下载标识。通过对各下载标识对应的目标图片进行下载,并根据下载结果对当前加载显示的目标图片进行替换,能够及时优化呈现的目标图片的清晰度,提高用户体验。
63.除此之外,当查询得到的目标图片未达到需求加载的分辨率的标准时,也可以从图片标识中确定下载标识。此时,下载标识对应的分辨率可小于等于目标标识对应的分辨率,且大于当前加载的目标图片的分辨率。下载与下载标识对应的分辨率,并根据下载结果对当前加载的目标图片进行替换,也能够及时优化呈现的目标图片的清晰度。
64.其中,下载与下载标识对应的分辨率的目标图片,可以包括:向服务器发送下载标识对应分辨率的目标图片的下载请求,以使服务器反馈下载标识对应分辨率的目标图片的url;根据各url从服务器下载对应分辨率的目标图片。
65.其中,根据下载结果对当前加载的目标图片进行替换,可以包括:若当前下载的目标图片的分辨率,大于当前加载的目标图片的分辨率,则利用当前下载的目标图片对当前加载的目标图片进行替换。相应的,若当前下载的图片的分辨率不大于当前加载的目标图片,则无需进行替换。通过利用高分辨率的目标图片,替换当前显示的低分辨率的目标图片,能够实现优化呈现的目标图片的清晰度。
66.在一些可选的实现方式中,还可以包括:根据下载的目标图片的分辨率,设置下载
的目标图片的图片标识;将下载的目标图片以及对应设置的图片标识,存储至预设存储空间。
67.在这些可选的实现方式中,可以基于预设的存储命名规则对下载的分辨率的目标图片进行命名,得到图片标识。其中,基于存储命名规则命名下载的分辨率的目标图片,可参考基于预设的存储命名规则确定各分辨率下的图片标识的内容,在此不做赘述。通过将下载的目标图片以及对应的图片标识存储至预设存储空间,可便于在下次加载该目标图片的情况下,直接利用存储的目标图片进行加载,能够加快图片加载速度。
68.在一些可选的实现方式中,还可以包括述至少一项:若与目标标识对应的分辨率的目标图片下载失败,则提示预设信息;若预设分辨率的目标图片加载失败,则加载预设占位图。
69.其中,预设信息可以包含表征需要加载的分辨率的目标图片下载失败的内容,还可以包含表征当前加载的目标图片的分辨率的内容。通过在目标标识对应的分辨率的目标图片下载失败时,提示预设信息,可以使用户了解到目标图片的加载情况,提高用户体验。
70.其中,预设占位图可以包括但不限于“加载中”占位图和“加载失败”占位图等。例如,可以在查询标识对应的目标图片查询失败、下载标识对应的下载失败,且预设分辨率的目标图片加载失败时,对“加载失败”占位图进行加载显示;又如,可以在预设分辨率的目标图片、下载标识对应的目标图片的下载过程中,对“加载中”占位图进行加载显示。从而可进一步使用户了解到目标图片的加载情况,提高用户体验。
71.本发明实施例提供的图片加载方法,在下载并加载预设分辨率的目标图片的同时,可以对下载标识对应的分辨率的目标图片进行下载,还可以利用下载的分辨率高的目标图片替换当前加载的分辨率低的目标图片,从而可以在用户无感知的情况下呈现更加清晰的目标图片。
72.此外,还可以将下载的目标图片存储至预设存储空间,以便于在下次加载该目标图片的情况下,直接利用存储的目标图片进行加载,能够加快图片加载速度。并且,还可以在显示预设分辨率的目标图片的同时,在未下载成功目标标识对应的分辨率的目标图片时,进行相应信息提示;在预设分辨率的目标图片加载失败时,用加载占位图,以使用户清楚了解到当前的图片加载情况,提高用户体验。
73.本实施例提供的图片加载方法与上述实施例提供的图片加载方法属于同一技术构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且相同的技术特征在本实施例与上述实施例中具有相同的有益效果。
74.实施例三
75.本实施例提供的图片加载方法,能够与上述实施例中所提供的图片加载方法中各个可选方案相结合。本实施例提供的生图片加载方法,以应用于通信类应用时,加载事件分别为通信页面中视图控件的渲染事件、图片全屏预览界面的打开事件为例,对图片加载方法进行了详细阐述,实现了图片加载方法在具体加载场景的应用。
76.示例性的,图2是本发明实施例三提供的一种图片加载方法的流程框图。参见图2,在一些实现方式中,目标图片的加载事件可以为通信页面中视图控件的渲染事件,例如具体可以为聊天列表页面中图片卡片的渲染事件。此时,图片加载方法可以包括:
77.s201,响应于聊天列表页面中图片卡片的渲染事件,开始加载图片的流程。
78.本实施例中,目标图片的分辨率由高到低可分为原图分辨率、大图分辨率和缩略图分辨率,且目标图片的至少一种分辨率可以指原图分辨率和大图分辨率,预设分辨率可以指缩略图分辨率。
79.其中,各分辨率下的目标图片可以称为原图、大图和缩略图。其中,原图可以指客户端应用上传至服务器的无压缩的目标图片;大图可以指服务器根据视图控件尺寸、传输条件等因素将原图进行压缩处理后的目标图片。其中,原图和大图对应的图片标识可以称为原图标识和大图标识。
80.s202,根据目标图片的url,确定大图标识。
81.在图片卡片中加载图片的场景下,目标标识可以为大图标识,当前查询标识可以为大图标识。
82.客户端应用可以响应于图片卡片的渲染事件,向服务器发送大图分辨率的图片加载请求,以使服务器反馈大图的url。当大图的url为基准url时,可以直接根据大图的url确定大图标识。例如,可以对大图的url中token等具有时效性的信息进行滤除;对滤除后的url进行md5加密;将加密结果添加后缀_big生成大图标识。
83.s203,根据大图标识从预设存储空间查询目标图片;若查询成功则跳转至s204;若查询失败则跳转至s205。
84.s204,加载大图并在图片卡片中显示,加载结束。
85.s205,下载缩略图和大图;若缩略图先于大图下载完毕则跳转至s206;若大图先于缩略图下载完毕则跳转至s204。
86.其中,下载标识可以为大图标识。在对预设分辨率的缩略图进行下载的同时,还可以对大图标识对应的目标图片进行下载。
87.s206,加载缩略图并在图片卡片中显示,直至大图下载完毕时,将图片卡片中的缩略图替换为大图显示,加载结束。
88.在这些实现方式中,可以先在预设存储空间中查询是否存储有大图,若存储则可直接加载显示,若未存储则可对缩略图进行加载显示,从而实现快速图片加载。由于图片卡片尺寸较小,100kb的缩略语可以在图片卡片中较为清楚的显示。此外,在显示缩略图的同时,还可以对大图进行下载,并可以在大图下载成功后对图片卡片中的缩略图进行替换,以优化呈现图片的清晰度。
89.在大图下载完毕后,还可以设置大图的大图标识,并将大图和大图标识存储至预设存储空间中,以便于后续再次显示该大图。并且,还可以在大图下载失败时,进行包含“大图下载失败”内容的预设信息的提示;还可以在大图查询失败、大图下载失败,且缩略图加载失败时,对“加载失败”占位图进行加载显示,以便于用户了解图片加载情况。
90.示例性的,图3是本发明实施例三提供的另一种图片加载方法的流程框图。参见图3,在一些实现方式中,目标图片的加载事件可以为图片全屏预览界面的打开事件。例如具体可以为,图片卡片被触发后可进入图片全屏预览界面。
91.此时,图片加载方法可以包括:
92.s301,响应于图片全屏预览界面的打开事件,开始加载图片的流程。
93.本示例中的图片加载流程可看作图2对应示例的后续流程,未在本示例中详尽描述的技术细节可参见图2对应的示例。
94.s302,根据目标图片的url,确定原图标识和大图标识。
95.在图片全屏预览界面中加载图片的场景下,目标标识可以为原图标识,当前查询标识可以依次为原图标识和大图标识。其中,当大图的url为基准url时,在根据大图的url确定大图标识时,也可以确定原图标识。例如,可以将加密结果添加后缀_origin生成原图标识。
96.s303,根据原图标识从预设存储空间查询目标图片;若查询成功则跳转至s308,若查询失败则跳转至s304。
97.在一些实现方式中,若查询原图失败,则图片全屏预览界面中可以显示“加载原图”的按钮控件。若查询原图成功,则该界面中可以隐藏“加载原图”的按钮控件。并且,当该界面中显示的“加载原图”按钮控件被触发时,可以认为用户要求对原图进行加载。此时可以跳过下述步骤,而直接下载并加载显示原图。当该界面中显示的“加载原图”按钮控件未被触发时,可以认为用户并未要求必须对原图进行加载。此时,可以执行下述步骤;或者,也可以在执行s305时仅下载缩略图和大图,而不对原图进行下载并加载显示,从而可以提高图片加载效率。
98.s304,根据大图标识从预设存储空间查询目标图片;若查询成功则跳转至s307,若查询失败则跳转至s305。
99.其中,还可以在跳转至s307的同时开始下载原图,直至原图下载完毕时,将全屏预览界面中的大图替换为原图显示,加载结束。
100.s305,下载缩略图、大图和原图;若缩略图最先下载完毕则跳转至s306;若大图最先下载完毕则跳转至s307;若原图最先下载完毕则跳转至s308。
101.其中,下载标识可以为大图标识和原图标识。在对预设分辨率的缩略图进行下载的同时,还可以对大图标识和原图标识对应的目标图片进行下载。
102.s306,加载缩略图并在全屏预览界面中显示,直至大图先于原图下载完毕跳转至s307,或者直至原图先于大图下载完毕跳转至s308。
103.s307,加载大图并在全屏预览界面中显示,直至原图下载完毕时,将全屏预览界面中的大图替换为原图显示,加载结束。
104.s308,加载原图并在全屏预览界面中显示,加载结束。
105.在这些实现方式中,可以依次在预设存储空间中查询是否存储有原图、大图,若存储则可直接加载显示,若未存储则可对缩略图进行加载显示,从而实现快速图片加载。在显示缩略图的同时,还可以对大图和原图进行下载,并且大图、原图下载成功后,皆可以对加载显示的缩略图进行替换;下载的原图可以对加载显示的大图进行替换,下载的大图无法对加载显示的原图进行替换,以优化呈现图片的清晰度。
106.在大图完毕后,还可以对应设置大图标识,并将大图和大图标识存储至预设存储空间中;同理,在原图完毕后,还可以对应设置原图标识,并将原图和原图标识存储至预设存储空间中。以便于后续再次显示该大图和原图。并且,还可以在原图下载失败时,进行包含“原图下载失败”内容的预设信息的提示;还可以在大图、原图查询失败,大图、原图下载失败,且缩略图加载失败时,对“加载失败”占位图进行加载显示,以便于用户了解图片加载情况。
107.在缩略图、大图和原图下载过程中,还可以显示“加载中”占位图。在已显示缩略图
时,若大图下载失败,可以利用现有的图片加载框架(例如glide框架)再次加载大图,成功时可跳转至s307。基于glide框架加载大图,虽然无法基于本实施例提供的图片加载方法对大图设置大图标识和存储,但是可以为快速加载图片进行兜底。此外,由于缩略图无需存储,同样可以利用现有的图片加载框架加载缩略图。
108.在应用中不同加载场景下,可以基于本发明实施例提供的图片加载方法中相同的加载逻辑加载目标图片,共享预设存储空间中的缓存图片。至少可以达到下述技术效果:一、可以保证同一目标图片,在一个场景下加载显示后,在其它场景下加载时,可基于存储文件直接加载展示出来,避免重复下载,节省图片加载时间;二、节省了相同图片不同url带来的文件系统资源浪费;三、提升了加载效率,如果目标图片已经在内存缓存中,可以减少加载图片的io的耗时。
109.本发明实施例提供的图片加载方法,以应用于通信类应用时,加载事件分别为通信页面中视图控件的渲染事件、图片全屏预览界面中加载原图控件的触发事件为例,对图片加载方法进行了详细阐述,实现了图片加载方法在具体加载场景的应用。此外,本实施例提供的图片加载方法与上述实施例提供的图片加载方法属于同一技术构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且相同的技术特征在本实施例与上述实施例中具有相同的有益效果。
110.实施例四
111.图4是本发明实施例四提供的一种图片加载装置的结构示意图。本实施例可适用于加载图片的情况,例如适用于应用软件中各加载场景下加载图片的情况。
112.参见图4,本发明提供的图片加载装置,可以包括:
113.图片标识确定模块410,用于响应于目标图片的加载事件,根据目标图片的统一资源定位符,确定目标图片在至少一种分辨率下的图片标识;
114.查询标识确定模块420,用于从图片标识中确定与加载事件对应的目标标识,以目标标识为起点,按对应的分辨率由高到低的顺序依次从图片标识中确定当前查询标识;
115.查询模块430,用于循环根据当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至当前查询标识与至少一种分辨率中的最低分辨率对应,且查询失败为止;
116.加载模块440,用于若查询成功,则加载查询得到的目标图片;若当前查询标识与最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片;其中预设分辨率小于最低分辨率。
117.在一些可选的实现方式中,图片标识确定模块,可以用于:
118.对目标图片的统一资源定位符中具有时效性的信息进行滤除,对滤除后的统一资源定位符进行加密;
119.针对各分辨率,为加密结果添加对应的后缀,以生成至少一种分辨率下的图片标识。
120.在一些可选的实现方式中,加载模块,还可以用于:
121.在下载并加载预设分辨率的目标图片的同时,从图片标识中确定下载标识,其中与下载标识对应的分辨率小于等于与目标标识对应的分辨率;
122.下载与下载标识对应的分辨率的目标图片,并根据下载结果对当前加载的目标图
片进行替换。
123.在一些可选的实现方式中,加载模块,可以具体用于:
124.若当前下载的目标图片的分辨率,大于当前加载的目标图片的分辨率,则利用当前下载的目标图片对当前加载的目标图片进行替换。
125.在一些可选的实现方式中,图片加载装置,还可以包括:
126.缓存模块,用于根据下载的目标图片的分辨率,设置下载的目标图片的图片标识;
127.将下载的目标图片以及对应设置的图片标识,存储至预设存储空间。
128.在一些可选的实现方式中,图片加载装置,还可以包括至少一项:
129.信息提示模块,用于若与目标标识对应的分辨率的目标图片下载失败,则提示预设信息;
130.占位图显示模块,用于若预设分辨率的目标图片加载失败,则加载预设占位图。
131.在一些可选的实现方式中,图片加载装置可应用于通信类应用中;目标图片的加载事件,包括下述至少一项:通信页面中视图控件的渲染事件;图片全屏预览界面中加载原图控件的触发事件。
132.本发明实施例所提供的图片加载装置可执行本发明实施例所提供的图片加载方法,具备执行方法相应的功能模块和有益效果。未详尽描述的技术细节,可参见本发明实施例所提供的图片加载方法。
133.实施例五
134.图5是本发明实施例五提供的一种电子终端的结构示意图。图5示出了适于用来实现本发明实施方式的示例性电子终端12的框图。图5显示的电子终端12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备12典型的是承担图片加载功能的电子终端。
135.如图5所示,电子终端12以通用计算设备的形式表现。电子终端12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,存储器28,连接不同组件(包括存储器28和处理单元16)的总线18。
136.总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线,微通道体系结构(micro channel architecture,mca)总线,增强型isa总线、视频电子标准协会(video electronics standards association,vesa)局域总线以及外围组件互连(peripheral component interconnect,pci)总线。
137.电子终端12典型地包括多种计算机可读介质。这些介质可以是任何能够被电子终端12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
138.存储器28可以包括易失性存储器形式的计算机装置可读介质,例如随机存取存储器(random access memory,ram)30和/或高速缓存存储器32。电子终端12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compact disc-read only memory,cd-rom)、数字视盘
(digital video disc-read only memory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品40,该程序产品40具有一组程序模块42,这些程序模块被配置以执行本发明各实施例的功能。程序产品40,可以存储在例如存储器28中,这样的程序模块42包括但不限于一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
139.电子终端12也可以与一个或多个外部设备14(例如键盘、鼠标、摄像头等和显示器)通信,还可与一个或者多个使得用户能与该电子终端12交互的设备通信,和/或与使得该电子终端12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,电子终端12还可以通过网络适配器20与一个或者多个网络(例如局域网(local area network,lan),广域网wide area network,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子终端12的其它模块通信。应当明白,尽管图中未示出,可以结合电子终端12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundant arrays of independent disks,raid)装置、磁带驱动器以及数据备份存储装置等。
140.处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的图片加载方法,包括:
141.响应于目标图片的加载事件,根据目标图片的统一资源定位符,确定目标图片在至少一种分辨率下的图片标识;从图片标识中确定与加载事件对应的目标标识,以目标标识为起点,按对应的分辨率由高到低的顺序依次从图片标识中确定当前查询标识;循环根据当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至当前查询标识与至少一种分辨率中的最低分辨率对应,且查询失败为止;若查询成功,则加载查询得到的目标图片;若当前查询标识与最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片;其中预设分辨率小于最低分辨率。
142.当然,本领域技术人员可以理解,处理器还可以实现本发明实施例所提供的图片加载方法的技术方案。
143.实施例六
144.本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的图片加载方法,该方法包括:
145.响应于目标图片的加载事件,根据目标图片的统一资源定位符,确定目标图片在至少一种分辨率下的图片标识;从图片标识中确定与加载事件对应的目标标识,以目标标识为起点,按对应的分辨率由高到低的顺序依次从图片标识中确定当前查询标识;循环根据当前查询标识从预设存储空间查询目标图片,直至查询成功为止,或直至当前查询标识与至少一种分辨率中的最低分辨率对应,且查询失败为止;若查询成功,则加载查询得到的目标图片;若当前查询标识与最低分辨率对应,且查询失败,则下载并加载预设分辨率的目标图片;其中预设分辨率小于最低分辨率。
146.当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序
不限于如上的方法操作,还可以执行本发明实施例所提供的图片加载方法。
147.本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的装置、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。
148.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。
149.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
150.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
151.注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献