CN107885741A - 图片缓存管理方法及移动终端 - Google Patents

图片缓存管理方法及移动终端 Download PDF

Info

Publication number
CN107885741A
CN107885741A CN201610865380.4A CN201610865380A CN107885741A CN 107885741 A CN107885741 A CN 107885741A CN 201610865380 A CN201610865380 A CN 201610865380A CN 107885741 A CN107885741 A CN 107885741A
Authority
CN
China
Prior art keywords
picture
caching
hyperdisk
memory
stored
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
Application number
CN201610865380.4A
Other languages
English (en)
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610865380.4A priority Critical patent/CN107885741A/zh
Publication of CN107885741A publication Critical patent/CN107885741A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请公开一种图片缓存管理方法及移动终端,其中该移动终端包括:通信组件、处理器及存储器;所述存储器进一步包括:内存缓存、高速磁盘缓存、文件磁盘缓存;所述处理器与所述存储器相耦接,其配置为控制所述存储器加载所述图片;其中,所述处理器进一步包括:获取模块,用于获取待加载图片的URL;第一查找模块,用于根据图片的URL查找所述内存缓存中是否存在该图片;第二查找模块,用于如果所述内存缓存中不存在该图片,则查找所述高速磁盘缓存中是否存在该图片;管理模块,用于如果所述高速磁盘缓存中存在该图片,则将在所述高速磁盘缓存中存储的图片存入内存缓存。通过本申请能够有效提升图片展现的速度并节省网络流量。

Description

图片缓存管理方法及移动终端
技术领域
本申请涉及通讯领域,尤其涉及一种图片缓存管理方法及移动终端。
背景技术
为了减少移动终端与服务端的交互次数,加快用户的响应速度,一般都会在操作系统中加缓存的机制,将远程网络服务器获取的数据缓存起来,以减少对同一个url的多次请求。使用缓存的目的是为了使应用程序能更快速的响应用户输入,从而使程序高效地运行。
现有技术中,移动终端的图片缓存基本上采用“内存加磁盘”的方案,其中,内存缓存(MemCache)的读取速度较快但可用量较少,而文件磁盘缓存(DiskCache)虽然存储量很大,但是效率并不高。
文件磁盘缓存的数据缓存方式是将将网络下载的图片原始文件,以单个文件的形式存储到磁盘上特定的文件夹中,以保证一次下载后,不用再次下载。由于文件磁盘缓存方式缓存的是原始文件,占用磁盘空间小,因此可以存储大量图片。但是在每次磁盘的输入输出,及图片的解码解压操作会比较消耗资源,响应时间不如内存缓存快。
例如,内存缓存在终端进行大量访问及浏览的时候,缓存的数据很容易被淘汰掉,被淘汰掉之后从文件磁盘缓存载入数据的速度又不够快,终端页面上会出现灰色的加载状态,造成用户体验不好。
因此,现有技术中亟需一种有效弥补内存缓存和文件磁盘缓存二者之间差距的缓存技术方案,以解决上述问题。
发明内容
本申请的主要目的在于,提供一种图片缓存管理方法及移动终端,以解决现有技术中的上述问题,其中:
根据本申请实施例的图片缓存管理方法,其包括:获取待加载图片的URL;根据图片的URL查找内存缓存中是否存在该图片;如果内存缓存中不存在该图片,则查找高速磁盘缓存中是否存在该图片;如果高速磁盘缓存中存在该图片,则将在高速磁盘缓存中存储的图片存入内存缓存。
其中,所述方法还包括:如果高速磁盘缓存中不存在该图片,则查找文件磁盘缓存中是否存在该图片;如果存在,则将在文件磁盘缓存中存储的图片分别存入内存缓存以及高速磁盘缓存。
其中,将在文件磁盘缓存中存储的图片存入高速磁盘缓存的步骤,还包括:相同大小的图片存储在同一文件中,文件映射到虚拟内存;其中,将所述图片进行解码并转换为位图数据进行存储。
其中,所述方法还包括:如果文件磁盘缓存中不存在该图片,则执行图片下载处理。
其中,在查找所述高速磁盘缓存中是否存在该图片的步骤前,所述方法还包括:根据图片的URL查询缓存索引信息是否存在;如果存在则根据所述缓存索引信息判断图片是否符合加载要求,如果符合加载要求则执行查找所述高速磁盘缓存中是否存在该图片的步骤;如果不符合加载要求则执行图片下载处理。
其中,所述图片下载处理的步骤,包括:通过网络服务器下载所述图片;将完成下载的图片分别存入所述内存缓存、所述高速磁盘缓存以及所述文件磁盘缓存。
根据本申请实施例的移动终端,其包括:通信组件、处理器及存储器;
所述通讯组件,其配置为通过网络下载图片;
所述存储器,其配置为存储所述图片;所述存储器进一步包括:内存缓存、高速磁盘缓存、文件磁盘缓存;
所述处理器与所述存储器相耦接,其配置为控制所述存储器加载所述图片;
其中,所述处理器进一步包括:获取模块,用于获取待加载图片的URL;第一查找模块,用于根据图片的URL查找所述内存缓存中是否存在该图片;第二查找模块,用于如果所述内存缓存中不存在该图片,则查找所述高速磁盘缓存中是否存在该图片;管理模块,用于如果所述高速磁盘缓存中存在该图片,则将在所述高速磁盘缓存中存储的图片存入内存缓存。
其中,所述所述处理器还包括:第三查找模块,用于如果所述高速磁盘缓存中不存在该图片,则查找所述文件磁盘缓存中是否存在该图片;所述管理模块还用于,将所述第三查找模块在所述文件磁盘缓存中查找到的图片分别存入所述内存缓存以及所述高速磁盘缓存。
其中,所述管理模块在将所述文件磁盘缓存中存储的图片存入所述高速磁盘缓存时,将相同大小的图片存储在同一文件中,文件映射到虚拟内存;其中,将所述图片进行解码并转换为位图数据进行存储。
其中,所述管理模块还用于,如果所述文件磁盘缓存中不存在该图片,则通知所述通讯组件执行图片下载处理。
其中,所述处理器还包括:判断模块,用于在所述第二查找模块执行查找所述高速磁盘缓存中是否存在该图片之前,根据图片的URL查询缓存索引信息是否存在,如果存在则根据所述缓存索引信息判断图片是否符合加载要求,如果符合加载要求则执行查找所述高速磁盘缓存中是否存在该图片的处理;如果不符合加载要求则由所述通讯组件执行图片下载处理。
其中,所述所述通讯组件用于通过网络服务器下载所述图片;所述管理模块还用于,将完成下载的图片分别存入所述内存缓存、所述高速磁盘缓存以及所述文件磁盘缓存。
根据本申请的技术方案,加载图片时首先在内存缓存中查找图片,如果不存在则在高速磁盘缓存中查找,如果存在则加载该图片并将图片存入内存缓存。本申请通过内存缓存、高速磁盘缓存以及文件磁盘缓存等三层图片缓存方式,能够有效提升图片展现的速度并节省网络流量。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种移动终端的结构框图;
图2是根据本申请一个实施例的处理器的结构框图;
图3是根据本申请另一实施例的处理器的结构框图;
图4是根据本申请一个实施例的图片缓存管理方法的流程图;
图5是根据本申请另一实施例的图片缓存管理方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是根据本申请实施例的一种可以管理图片缓存的移动终端10的结构框图。例如,移动终端10可以是手机、智能手机、平板设备、笔记本电脑或台式计算机等终端设备。
参考图1,在硬件层面,移动终端10可以包括以下一个或多个组件:通信组件11、存储器12、处理组件13以及供上述组件相耦接的内部总线。
通信组件11可被配置为便于移动终端10和其他设备之间有线或无线方式的通信。移动终端10可以接入基于通信标准的无线网络,如WiFi、2G、3G、4G或它们的组合。在一个示例性实施例中,通信组件11经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件11还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
具体地,通信组件11,被配置为通过网络服务器下载图片。
存储器12,配置为存储通信组件11下载的图片。另外,存储器12还可被配置为存储各种类型的数据以支持在移动终端10上的操作。这些数据的示例包括用于在移动终端10上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、音视频等。
在本申请实施例中,所述存储器12包括:内存缓存(MemCache)、高速磁盘缓存(FastCache)和文件磁盘缓存(DiskCache)。其中,内存缓存读写速度最块,但可用量较少;与内存缓存相反,文件磁盘缓存的可用量较大,但读写速度较慢;高速磁盘缓存的特点介于内存缓存与文件磁盘缓存中间,读写速度较文件磁盘缓存快,接近内存缓存,但是高速磁盘缓存的磁盘可用量大于内存缓存。
高速磁盘缓存在读写文件时,将文件映射到用户空间里的虚拟内存,文件中的位置在虚拟内存中有了对应的地址,可以像操作内存一样操作这个文件,相当于已经把整个文件放入内存,但在真正使用到这些数据前却不会消耗物理内存,也不会有读写磁盘的操作,只有真正使用这些数据时,也就是图像准备渲染在屏幕上时,虚拟内存管理系统(VMS)才根据缺页加载的机制从磁盘加载对应的数据块到物理内存进行渲染。这样的文件读写方式由于不需要数据从内核缓存到用户空间的拷贝,效率较高。
在实际应用中,存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如:静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、快闪存储器、磁盘或光盘等。
处理组件13通常控制移动终端10的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件13可以包括一个或多个处理器130来执行本地或者远程指令,以完成根据本申请实施例的方法的全部或部分步骤。
具体地,处理器130与存储器12相耦接,其配置为控制存储器12加载所述图片。在实际应用中,当用户通过手机等移动终端访问电子商务网站时,移动终端与网站的服务器远程连接,终端请求加载网站的文字、图片、音视频等各种信息。当移动终端需要加载电子商务网站中的图像,例如展示图像、买家晒单图等和或其他相关图像时,由处理器130控制并在缓存中查找是否存在该图片。具体地,参考图2,所述处理器130进一步包括:
获取模块131,用于获取待加载图片的URL;
第一查找模块132,用于根据图片的URL查找所述内存缓存中是否存在该图片;
第二查找模块133,用于如果所述内存缓存中不存在该图片,则查找所述高速磁盘缓存中是否存在该图片;
管理模块134,用于如果所述高速磁盘缓存中存在该图片,则将在所述高速磁盘缓存中存储的图片存入内存缓存。
参考图3,所述处理器130还包括:
第三查找模块135,用于如果所述高速磁盘缓存中不存在该图片,则查找所述文件磁盘缓存中是否存在该图片;
所述管理模块134,还用于将所述第三查找模块在所述文件磁盘缓存中查找到的图片分别存入所述内存缓存以及所述高速磁盘缓存。所述管理模块134在将文件磁盘缓存中存储的图片存入高速磁盘缓存时,将相同大小的图片存储在同一文件中,文件映射到虚拟内存;其中,将所述图片进行解码并转换为位图数据进行存储。
所述管理模块134,还用于如果文件磁盘缓存中不存在该图片,则通知所述通讯组件11执行图片下载处理。
继续参考图3,所述处理器130还包括:
判断模块136,用于在所述第二查找模块133执行查找所述高速磁盘缓存中是否存在该图片之前,根据图片的URL查询缓存索引信息是否存在,如果存在则根据所述缓存索引信息判断图片是否符合加载要求,如果符合加载要求则执行所述查找所述高速磁盘缓存中是否存在该图片的处理;如果不符合加载要求则由所述通讯组件11执行图片下载处理。
所述管理模块134,还用于将通讯组件11完成下载的图片分别存入内存缓存、高速磁盘缓存以及文件磁盘缓存。
进一步,继续参考图1,移动终端10还包括:电源组件14、音频组件15、显示器16等其它组件。
电源组件14,为移动终端的各种组件提供电力。电源组件104可以包括电源管理系统,一个或多个电源,及其他与为服务端设备生成、管理和分配电力相关联的组件。
音频组件15被配置为输出和/或输入音频信号。例如,音频组件15包括一个麦克风(MIC),当服务端设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器12或经由通信组件11发送。在一些实施例中,音频组件15还包括一个扬声器,用于输出音频信号。
显示器16包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
需要说明,在图1中仅示意性示出部分组件,但并不表示移动终端10只包括图1中所示的组件。例如还可以包括传感器组件、I/O接口、多媒体组件,此处不再赘述。
图4是根据本申请一个实施例的图片缓存管理方法的流程图,该图片缓存管理方法可由移动终端来执行。如图4所示,该方法包括以下步骤:
步骤S402,获取待加载图片的URL。
步骤S404,根据图片的URL查找内存缓存中是否存在该图片。
在手机等移动终端需要加载电子商务网站中的展示图像、买家晒单图等和其他相关图片时,首先在内存缓存(MemCache)中查询是否存在该图片。具体地,对图片的URL进行处理得到内存缓存Key,根据内存缓存Key查找内存缓存中是否存在该图片。
步骤S406,如果内存缓存中不存在该图片,则判断高速磁盘缓存(FastCache)中是否存在该图片。
在本申请实施例中,提供高速磁盘缓存作为内存缓存与文件磁盘缓存之间的一层高速磁盘缓存层。高速磁盘缓存的读取效率介于内存缓存与文件磁盘缓存之间,比文件磁盘缓存快很多,接近内存缓存,但高速磁盘缓存的磁盘可用量较大。
步骤S408,如果高速磁盘缓存中存在该图片,则将在高速磁盘缓存中存储的图片存入内存缓存。
在本申请的是一个实施例中,如果高速磁盘缓存中不存在该图片,则继续在文件磁盘缓存中查找是否存在该图片,如果存在,则将在文件磁盘缓存中存储的图片分别存入内存缓存以及高速磁盘缓存;如果不存在,则执行图片下载处理。即,通过网络服务器下载所述图片,将完成下载的图片分别存入内存缓存、高速磁盘缓存以及文件磁盘缓存。
根据本申请,通过内存缓存、高速磁盘缓存以及文件磁盘缓存等三层图片缓存方式存储图片文件。当手机请求加载图片时,依次从内存缓存、高速磁盘缓存、文件磁盘缓存查找并加载图片,通过这种多层次的图片缓存方案能够有效提升图片展现的速度并节省网络流量。
下面结合图5详细描述上述各处理的细节。图5是根据本申请另一实施例的图片缓存管理方法的流程图,如图5所示,该方法包括:
步骤S502,获取待加载图片的URL。例如,一张待加载图片的URL为“http://gw.alicdn.com/tps/i3/TB1btGRHpXXXXakaXXXTIPs_XXX-1125-352.png_640x640q90.jpg”。其中,640x640表示图片大小,q90表示图片质量。
需要说明,在执行本步骤之前需要判断图片的URL是否能够进行预处理操作,即对预定域名的URL进行预处理操作,如果获取的图片的URL不能进行预处理操作则忽略本步骤。具体地,获取的图片的URL为预定格式的URL,删除其中的query参数部分后作为图片缓存Key,避免影响到缓存的命中。例如,对预定CDN域名(gw.alicdn.com)进行预处理,删除HTTP的query(查询字段)参数部分;而对于无法识别的URL则不进行处理,直接将URL作为图片缓存Key。
步骤S504,根据图片缓存key查找内存缓存中是否存在该图片,如果存在则执行步骤S512,如果不存在则执行步骤S506。由于内存缓存的读取效率最快,因此首先在内存缓存中查询是否存在缓存图片,如果内存缓存中存在则能够以较快的速度读取并加载该图片。例如,当请求的URL之前已经被内存缓存所存储,且该URL对应的图片数据没有被释放,则可以直接从内存缓存中获取图片数据。
步骤S506,判断图片缓存索引信息是否符合加载条件。在本步骤中需要先后判断是否存在图片缓存索引信息(即meta信息)以及根据图片缓存索引信息判断是否符合加载条件。
具体地,首先对图片的URL进行处理,解析出原图的URL(BaseURL)以及图片大小和质量信息。
例如,上述图片的BaseURL为“http://gw.alicdn.com/tps/i3/TB1btGRHpXXXXakaXXXTIPs_XXX-1125-352.png”,其中图片大小为640x640,图片质量为q90。然后,查询是否存在BaseURL对应的缓存索引信息(meta信息)。如果存在继续根据缓存索引信息以及URL判断图片的大小和质量是否符合终端的加载条件,如果是则执行步骤S508,继续判断文件磁盘缓存中是否存在该图片;否则执行步骤S514,执行图片下载流程。
例如,如果缓存索引信息中记录的图片大小为100x100(小于640x640),则表示不符合终端的加载条件,需要通过网络重新下载图片;如果缓存索引信息中记录的图片大小为800x800(大于640x640),则表示符合终端的加载条件,继续判断高速磁盘缓存中是否存在该图片。
步骤S508,查找高速磁盘缓存中是否存在该图片。具体地,根据BaseURL作为Key在高速磁盘缓存中查找图片。如果高速磁盘缓存中存在该图片则执行步骤S512以及步骤S516,也就是在执行图片加载的同时或之后将图片存入内存缓存;如果不存在则执行步骤S510,继续判断文件磁盘缓存中是否存在该图片。
步骤S510,查找文件磁盘缓存中是否存在该图片。具体地,根据BaseURL作为Key在文件磁盘缓存中查找图片。如果存在则执行步骤S512,执行图片加载流程;如果不存在则执行步骤S514,执行图片下载流程。
步骤S512,终端显示器加载图片,例如终端可以通过构建UIImage加载图片,具体图片加载过程此处不再赘述。
步骤S514,执行图片下载流程,通过网络服务器下载图片。如果三级缓存中都不存在对应的图片或者图片不符合加载条件,则直接通过原始地址下载所述图片。
步骤S516,图片下载完成后,存入内存缓存,并生成缓存Key。在将图片存入缓存时,同时生成表示缓存项的缓存信息,包括:缓存有效时间、缓存过期时间、缓存到本地的路径等信息。
步骤S518,在将下载后的图片存入内存缓存的同时或之后,将该图片存入高速磁盘缓存,并生成缓存Key。然后,在移动终端的本地磁盘写入缓存索引信息。
具体地,高速磁盘缓存具有以下特点:
1、存储解码后字节对齐的位图(Bitmap)数据。例如,如果图像是JPG/PNG格式,这些图像数据不是位图,而是经过编码压缩后的数据,使用该数据渲染到屏幕之前需要进行解码转换为成位图数据。这样能够节省解码的开销、并避免字节没有对齐时需要进行的字节对齐操作;
2、结构文件存储。相同的尺寸的文件放到同一个文件中,这样就可以整块数据通过偏移量快速的获取数据;
3、文件以mmap的方式映射到用户的虚拟内存空间,从而节省了从内核缓冲区复制到用户空间的过程,可直接使用图片;
4、图片的大小、alpha通道等信息与原始文件一致,图片质量在存储中无损失。
步骤S520,在将下载后的图片存入内存缓存以及存入高速磁盘缓存的同时或之后,将该图片存入文件磁盘缓存,并生成缓存Key。
综上,在加载图片时,首先在内存缓存查找是否存在图片,如果有则直接加载图片,否则继续在高速磁盘缓存中查找;如果高速磁盘缓存中存在并且符合加载条件,则直接加载图片并将该图片存入内存缓存,如果高速磁盘缓存中不存在、或者不符合加载条件,则继续在文件磁盘缓存中查找;如果文件磁盘缓存中存在,则直接加载图片并将图片存入内存缓存和高速磁盘缓存中;如果文件磁盘缓存中不存在,则执行图片下载流程,将下载完毕的图片分别存入内存缓存、高速磁盘缓存和文件磁盘缓存中。也就是说,在下载成功后,内存缓存、高速磁盘缓存和文件磁盘缓存都保存图片,而内存缓存与高速磁盘缓存会有一部分交集,这样大部分加载过的文件都会在高速磁盘缓存这一层中存储,这样在二次加载图片时加速效果较好。
下面详细描述三层缓存Key生成方法:
内存缓存:如果是预定格式的URL,删除其中的query参数部分后作为图片缓存Key,内存地址作为Value。例如,如果是预定CDN域名(gw.alicdn.com)则进行预处理,删除HTTP的query参数部分;而对于无法识别的URL则不进行处理,直接将URL作为缓存Key。
高速磁盘缓存:分析出URL中的BaseURL和额外信息(例如:尺寸和质量等),以BaseURL作为缓存Key,额外信息作为是否最终满足要求的判断条件。
文件磁盘缓存:分析出URL中的BaseURL和额外信息(例如:尺寸和质量等),以BaseURL作为缓存Key,额外信息作为是否最终满足要求的判断条件。
通过真机(iPhone6)测试表明,本申请通过采用三级缓存机制较现有技术的图片加载速度有了显著提高:第一次加载速度(冷启动)相差18倍,第二、三次加载速度(热加载)相差47倍。
本申请的方法的操作步骤与移动终端的结构特征对应,可以相互参照,不再一一赘述。
综上所示,根据本申请的上述实施例,加载图片时首先在内存缓存中查找图片,如果不存在则在高速磁盘缓存中查找,如果存在则加载该图片并将图片存入内存缓存。本申请通过内存缓存、高速磁盘缓存以及文件磁盘缓存等三层图片缓存方式,能够有效提升图片展现的速度并节省网络流量。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种图片缓存管理方法,其特征在于,包括:
获取待加载图片的URL;
根据图片的URL查找内存缓存中是否存在该图片;
如果内存缓存中不存在该图片,则查找高速磁盘缓存中是否存在该图片;
如果高速磁盘缓存中存在该图片,则将在高速磁盘缓存中存储的图片存入内存缓存。
2.根据权利要求1所述的方法,其特征在于,还包括:
如果所述高速磁盘缓存中不存在该图片,则查找所述文件磁盘缓存中是否存在该图片;如果存在,则将在所述文件磁盘缓存中存储的图片分别存入所述内存缓存以及所述高速磁盘缓存。
3.根据权利要求2所述的方法,其特征在于,将在所述文件磁盘缓存中存储的图片存入所述高速磁盘缓存的步骤,还包括:
相同大小的图片存储在同一文件中,文件映射到虚拟内存;其中,将所述图片进行解码并转换为位图数据进行存储。
4.根据权利要求2所述的方法,其特征在于,还包括:
如果所述文件磁盘缓存中不存在该图片,则执行图片下载处理。
5.根据权利要求1所述的方法,其特征在于,在查找所述高速磁盘缓存中是否存在该图片的步骤前,所述方法还包括:
根据图片的URL查询缓存索引信息是否存在;
如果存在则根据所述缓存索引信息判断图片是否符合加载要求,如果符合加载要求则执行查找所述高速磁盘缓存中是否存在该图片的步骤;如果不符合加载要求则执行图片下载处理。
6.根据权利要求4或5所述的方法,其特征在于,所述图片下载处理的步骤,包括:
通过网络服务器下载所述图片;
将完成下载的图片分别存入所述内存缓存、所述高速磁盘缓存以及所述文件磁盘缓存。
7.一种移动终端,其特征在于,包括:通信组件、处理器及存储器;
所述通讯组件,其配置为通过网络下载图片;
所述存储器,其配置为存储所述图片;所述存储器进一步包括:内存缓存、高速磁盘缓存、文件磁盘缓存;
所述处理器与所述存储器相耦接,其配置为控制所述存储器加载所述图片;
其中,所述处理器进一步包括:
获取模块,用于获取待加载图片的URL;
第一查找模块,用于根据图片的URL查找所述内存缓存中是否存在该图片;
第二查找模块,用于如果所述内存缓存中不存在该图片,则查找所述高速磁盘缓存中是否存在该图片;
管理模块,用于如果所述高速磁盘缓存中存在该图片,则将在所述高速磁盘缓存中存储的图片存入内存缓存。
8.根据权利要求7所述的移动终端,其特征在于,所述处理器还包括:
第三查找模块,用于如果所述高速磁盘缓存中不存在该图片,则查找所述文件磁盘缓存中是否存在该图片;
所述管理模块还用于,将所述第三查找模块在所述文件磁盘缓存中查找到的图片分别存入所述内存缓存以及所述高速磁盘缓存。
9.根据权利要求8所述的移动终端,其特征在于,所述管理模块在将所述文件磁盘缓存中存储的图片存入所述高速磁盘缓存时,将相同大小的图片存储在同一文件中,文件映射到虚拟内存;其中,将所述图片进行解码并转换为位图数据进行存储。
10.根据权利要求8所述的移动终端,其特征在于,所述管理模块还用于,如果所述文件磁盘缓存中不存在该图片,则通知所述通讯组件执行图片下载处理。
11.根据权利要求7所述的移动终端,其特征在于,所述处理器还包括:
判断模块,用于在所述第二查找模块执行查找所述高速磁盘缓存中是否存在该图片之前,根据图片的URL查询缓存索引信息是否存在,如果存在则根据所述缓存索引信息判断图片是否符合加载要求,如果符合加载要求则执行查找所述高速磁盘缓存中是否存在该图片的处理;如果不符合加载要求则由所述通讯组件执行图片下载处理。
12.根据权利要求10或11所述的移动终端,其特征在于,所述通讯组件用于通过网络服务器下载所述图片;
所述管理模块,还用于将完成下载的图片分别存入所述内存缓存、所述高速磁盘缓存以及所述文件磁盘缓存。
CN201610865380.4A 2016-09-29 2016-09-29 图片缓存管理方法及移动终端 Pending CN107885741A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610865380.4A CN107885741A (zh) 2016-09-29 2016-09-29 图片缓存管理方法及移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610865380.4A CN107885741A (zh) 2016-09-29 2016-09-29 图片缓存管理方法及移动终端

Publications (1)

Publication Number Publication Date
CN107885741A true CN107885741A (zh) 2018-04-06

Family

ID=61769720

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610865380.4A Pending CN107885741A (zh) 2016-09-29 2016-09-29 图片缓存管理方法及移动终端

Country Status (1)

Country Link
CN (1) CN107885741A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109670061A (zh) * 2018-12-12 2019-04-23 万兴科技股份有限公司 Pdf图片读取方法、装置、计算机设备以及存储介质
CN109886861A (zh) * 2019-01-08 2019-06-14 北京城市网邻信息技术有限公司 一种高效率图档格式heif图像加载方法及装置
CN110175053A (zh) * 2019-04-24 2019-08-27 阿里巴巴集团控股有限公司 图片加载方法及装置
CN111388996A (zh) * 2020-04-10 2020-07-10 网易(杭州)网络有限公司 三维虚拟对象显示方法、装置、系统以及存储介质和设备
CN111597479A (zh) * 2020-04-18 2020-08-28 北京奇保信安科技有限公司 一种用于终端的图片智能加载方法、装置和电子设备
CN111897617A (zh) * 2020-08-12 2020-11-06 腾讯科技(深圳)有限公司 图片加载方法、装置、计算机设备和存储介质
CN111930696A (zh) * 2020-07-22 2020-11-13 中国建设银行股份有限公司 一种基于小程序的文件传输处理方法及系统
CN112051948A (zh) * 2020-09-11 2020-12-08 广州宸祺出行科技有限公司 一种移动端图片圆角化处理的方法和系统
CN112052110A (zh) * 2020-09-02 2020-12-08 广州市百果园信息技术有限公司 一种存储方法及装置
US11647100B2 (en) 2018-09-30 2023-05-09 China Mobile Communication Co., Ltd Research Inst Resource query method and apparatus, device, and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657378A (zh) * 2013-11-20 2015-05-27 青岛海信移动通信技术股份有限公司 一种文件缓存方法及装置
CN104657380A (zh) * 2013-11-20 2015-05-27 青岛海信移动通信技术股份有限公司 一种图片加载方法和装置
US20150227555A1 (en) * 2005-07-14 2015-08-13 Telecommunication Systems, Inc. Tiled Map Display on a Wireless Device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150227555A1 (en) * 2005-07-14 2015-08-13 Telecommunication Systems, Inc. Tiled Map Display on a Wireless Device
CN104657378A (zh) * 2013-11-20 2015-05-27 青岛海信移动通信技术股份有限公司 一种文件缓存方法及装置
CN104657380A (zh) * 2013-11-20 2015-05-27 青岛海信移动通信技术股份有限公司 一种图片加载方法和装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11647100B2 (en) 2018-09-30 2023-05-09 China Mobile Communication Co., Ltd Research Inst Resource query method and apparatus, device, and storage medium
CN109670061A (zh) * 2018-12-12 2019-04-23 万兴科技股份有限公司 Pdf图片读取方法、装置、计算机设备以及存储介质
CN109886861B (zh) * 2019-01-08 2023-04-11 北京城市网邻信息技术有限公司 一种高效率图档格式heif图像加载方法及装置
CN109886861A (zh) * 2019-01-08 2019-06-14 北京城市网邻信息技术有限公司 一种高效率图档格式heif图像加载方法及装置
CN110175053A (zh) * 2019-04-24 2019-08-27 阿里巴巴集团控股有限公司 图片加载方法及装置
CN110175053B (zh) * 2019-04-24 2023-10-27 创新先进技术有限公司 图片加载方法及装置
CN111388996A (zh) * 2020-04-10 2020-07-10 网易(杭州)网络有限公司 三维虚拟对象显示方法、装置、系统以及存储介质和设备
CN111597479A (zh) * 2020-04-18 2020-08-28 北京奇保信安科技有限公司 一种用于终端的图片智能加载方法、装置和电子设备
CN111930696A (zh) * 2020-07-22 2020-11-13 中国建设银行股份有限公司 一种基于小程序的文件传输处理方法及系统
CN111897617B (zh) * 2020-08-12 2021-12-14 腾讯科技(深圳)有限公司 图片加载方法、装置、计算机设备和存储介质
CN111897617A (zh) * 2020-08-12 2020-11-06 腾讯科技(深圳)有限公司 图片加载方法、装置、计算机设备和存储介质
CN112052110A (zh) * 2020-09-02 2020-12-08 广州市百果园信息技术有限公司 一种存储方法及装置
CN112052110B (zh) * 2020-09-02 2024-04-05 广州市百果园信息技术有限公司 一种存储方法及装置
CN112051948B (zh) * 2020-09-11 2022-02-08 广州宸祺出行科技有限公司 一种移动端图片圆角化处理的方法和系统
CN112051948A (zh) * 2020-09-11 2020-12-08 广州宸祺出行科技有限公司 一种移动端图片圆角化处理的方法和系统

Similar Documents

Publication Publication Date Title
CN107885741A (zh) 图片缓存管理方法及移动终端
CN111666497B (zh) 应用程序的加载方法、装置、电子设备及可读存储介质
US9781135B2 (en) Intelligent web page content blocking
CN106407341A (zh) 页面处理的方法、装置及系统
WO2015043230A1 (en) Method, mobile terminal, and server for displaying data analysis result
CN105357192A (zh) 网页推送的方法、装置及系统
CN113900597A (zh) 一种数据存储方法、系统、设备及存储介质
US8966177B2 (en) Method, apparatus and system for optimizing image rendering on an electronic device
CN114047986A (zh) 表单生成方法、表单数据处理方法、装置和电子设备
CN114510930B (zh) 一种操作文档审计的方法、装置、电子设备及介质
CN112183045A (zh) 在线文档处理方法、装置和电子设备
CN105491129A (zh) 页面加载进度显示方法、装置及移动终端
CN111506232A (zh) 一种用于在阅读应用中控制菜单显示的方法与设备
CN110875947A (zh) 一种数据处理方法和边缘节点设备
CA2930061C (en) Variants of files in a file system
CN104123330A (zh) 一种网页图片查看方法及装置
US20080297521A1 (en) System and method for providing skins for a web page
KR102442699B1 (ko) 클라우드 스트리밍 서비스 시스템, 공통 캐시를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN112114735B (zh) 用于管理任务的方法和装置
CN110568976B (zh) 控制应用显示的方法、装置、设备、存储介质
CN114416212A (zh) 移动端应用程序数据资源处理方法及装置
US8990265B1 (en) Context-aware durability of file variants
CN114595017B (zh) 数据显示方法和装置、电子设备及计算机可读存储介质
WO2024046082A1 (zh) 一种图片处理方法、系统、电子设备、介质及程序产品
WO2024067167A1 (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180406

RJ01 Rejection of invention patent application after publication