[发明专利]数据缓存方法及装置有效
申请号: | 201510223929.5 | 申请日: | 2015-05-05 |
公开(公告)号: | CN104808952B | 公开(公告)日: | 2018-09-18 |
发明(设计)人: | 韩叙东;刘思音;雷志海 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 路凯;胡彬 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 缓存 方法 装置 | ||
本发明实施例公开了一种数据缓存方法及装置。其中,所述方法包括:将应用程序的待访问数据加载至缓存,并进行访问;在结束对所述数据的访问时,在所述缓存中保留所述数据;监测所述缓存的属性和/或所述数据的属性,并根据设定规则对所述缓存中的数据进行清除。本发明实施例提供的技术方案,可以加快后续对数据的访问时间,减少内存占用。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及数据缓存方法及装置。
背景技术
现有的应用程序在进行本地图片加载过程中,通常涉及如下三种加载方式:
第一种方式[UIImage imageNamed:]是,将本地图片加载到系统内存中进行缓存并展示,当应用程序退出时,清除缓存;
第二种方式[UIImage imageWithContentsOfFile:]是,直接将本地图片作为文件来读取和展示,并不缓存,即直接加载图片,不缓存,等之后再次加载该图片时仍旧直接读取该图片文件并展示,不缓存;
第三种方式[UIImage imageWithData:]是,先将本地图片的格式转换为数据格式,再进行加载和展示,该方式也不执行缓存操作,等之后再次加载该图片时仍旧先将图片格式转换为数据格式再进行加载和展示,不缓存。
现有的应用程序对网络图片的加载方式是:将网络图片数据下载到系统内存中,并加载显示该图片;当不再持有该图片内存时,该块内存会被系统回收;被回收后,当再次访问该网络图片时,会重新下载网络图片数据并加载显示该网络图片。
但是,上述对本地图片的三种加载方式均存在一定弊端。具体的,对于第一种方式而言,当需要再次访问本地图片时,虽然可以通过直接读取缓存的方式来加快访问速度,但是始终占用系统内存;对于第二种方式和第三种方式而言,虽然对系统内存的占用较少,可以及时释放内存,但是再次访问本地图片时的速度较慢,尤其是第三种方式需要耗用额外的内存来进行格式转换,以及额外的格式转换时间。另外,对网络图片的加载方式也存在再次访问时间较长的问题。
发明内容
本发明实施例提供一种数据缓存方法及装置,以加快后续对数据的访问时间,减少内存占用。
一方面,本发明实施例提供了一种数据缓存方法,该方法包括:
将应用程序的待访问数据加载至缓存,并进行访问;
在结束对所述数据的访问时,在所述缓存中保留所述数据;
监测所述缓存的属性和/或所述数据的属性,并根据设定规则对所述缓存中的数据进行清除。
另一方面,本发明实施例还提供了一种数据缓存装置,该装置包括:
数据缓存及访问单元,用于将应用程序的待访问数据加载至缓存,并进行访问;
数据保留单元,用于在结束对所述数据的访问时,在所述缓存中保留所述数据;
数据清除单元,用于监测所述缓存的属性和/或所述数据的属性,并根据设定规则对所述缓存中的数据进行清除。
本发明实施例提供的技术方案,在结束一次数据访问之后并未立即清除该数据,而是在缓存中继续保留该数据,等到后续再次访问该数据时,直接从缓存中读取该数据,从而加快了数据访问时间,同时也可以基于设定策略进行缓存数据的清除,这样可避免持续占用过多的内存空间。
附图说明
图1是本发明实施例一提供的一种数据缓存方法的流程示意图;
图2是分别以现有技术中的三种本地图片加载方式加载100张不同图片的内存占用分布示意图;
图3是分别在上述三种加载方式下访问100次同一张图片所占用的时间分布示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510223929.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种处理器的动态数据预取系统
- 下一篇:一种显示处理方法、装置及电子设备
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置