图片快速读取方法技术

技术编号:7662601 阅读:285 留言:0更新日期:2012-08-09 07:10
本发明专利技术公开了图片快速读取方法,包括:开辟图片池,所述的图片池专门用于存储图片;采用及远原则释放图片池中图片,是指按照图片排列顺序,与当前显示图片的距离最远的图片率先被释放,所述的及远原则是指与当前显示图片的距离越远释放的优先级越高;采取及近原则加载图片进图片池,是指按照图片排列顺序,与当前显示图片的距离最近的图片率先被加载,所述的及近原则是指与当前显示图片的距离越近加载的优先级越高;本发明专利技术具有图片读取快,不增加硬件成本,利用大规模推广的优点。

【技术实现步骤摘要】

本专利技术涉及ー种文件读取方法,尤其是一种图片文件的快速读取方法。
技术介绍
目前,对于手机、车载汽车电子等设备,由于其硬件性能的限制,很难做到实时从文件中读取图片数据并显示出来。特别是对于图片的预览,要同时读取并显示多张图片的缩略图,将会占用比较长的CPU时间,这这在实际应用中,是不可接受的。由于软件直接从外部存储器中获取数据比从内存中获取数据的速度慢很多。而对于一台设备,考虑到成本的原因,内存大小是受到限制,然而从文件中读取图片是需要一定的时间,为保证在读取图片的过程中主线程(或工作线程)不会发生假死的现象,图片池管 理模块需要建立专门的读取线程,用于负责将图片从文件中读入到图片池中。对于任何一台设备,由于内存上的限制,图片池不可能做到无限大,这就需要图片池对缓存的图片按一定的策略进行取舎。一般而言,对于ー组图片,在屏幕上是不可能同时全部显示出来的;并且,用户对图片的浏览一般也是依次进行的,跳动浏览的情况比较少。对于这个问题,一种解决方法的是全面的提高硬件配置,但是这种方法带来了两个问题一是原有的ー些装置,由于其硬件已经定型,这种解决方法不适用;ニ是高硬件配置的装置必然带来高成本。基于上面的情况,市场急盼一种在不改变硬件的前提下,能够快速读取图片的方法。
技术实现思路
本专利技术针对上述设备普遍存在的缺点,提出ー种新型。本专利技术采取的设计方案为 一种,包括开辟图片池,所述的图片池专门用于存储图片;采用及远原则释放图片池中图片,是指按照图片排列顺序,与当前显示图片的距离最远的图片率先被释放,所述的及远原则是指与当前显示图片的距离越远释放的优先级越高;采取及近原则加载图片进图片池,是指按照图片排列顺序,与当前显示图片的距离最近的图片率先被加载,所述的及近原则是指与当前显示图片的距离越近加载的优先级越高。一种优选方案,还包括监视当前显示图片变化步骤,若当前显示图片发生变化,则进入所述的采用及远原则释放图片池中图片,若当前显示图片没有发生变化,则继续等待。一种优选方案所述采用及远原则释放图片包括以下步骤图片池是否存满判断步骤,若图片池存满,则进入所述采用及远原则释放图片,若图片池没有存满,则直接进入所述采用及近原则加载图片;采用及远原则,需找需要释放图片;是否找到符合条件图片文件步骤,若有,则进入释放图片步骤,若没有则进入监视当前显示图片变化步骤;释放图片步骤,把图片从图片池中释放出来。一种优选方案,所述的采取及近原则加载图片进图片池包括以下步骤采用及近原则,寻找需要加载的文件;是否找到符合条件图片文件步骤,若有,则进入图片大小处理步骤,若没有则进入监视当前显示图片变化步骤;图片大小处理步骤,所述的图片大小处理步骤用于把尺寸超大的图片压缩到图片池所允许大小;加载图片进入图片池。一种优选方案,还包括图片读取过程若需被显示的图片已经存储于图片池里,则从图片池中读取该图片;若需被显示的图片池没有存储在图片池里,则先读出空图片,等该图片载入到图片池后再读出。一种优选方案,所述的图片池包括用于缓存缩略图的缩略图池和缓存正式图片的正式图池。 综上所述,本专利技术具有以下显著的有益效果 (I)本专利技术采用及远原则、及近原则对内存图片池子的图片加载和释放进行控制,在同样的内存情况下,提高了对下ー个的显示图片的预判性,进而提高了内存的使用的有效性,提高了图片的整体读取速度;(2)本专利技术不带来硬件的改变,不增加生产的成本,便于大规模推广。附图说明附图I为本专利技术所述的工作流程 附图2为本专利技术所述的图片池工作示意图。具体实施例方式为了让本领域的技术人员更好地理解本专利技术的技术方案,下面结合附图对本专利技术作进ー步阐述。一种,包括开辟图片池,所述的图片池专门用于存储图片;采用及远原则释放图片池中图片,是指按照图片排列顺序,与当前显示图片的距离最远的图片率先被释放。所述的及远原则是指与当前显示图片的距离越远释放的优先级越高;采取及近原则加载图片进图片池,是指按照图片排列顺序,与当前显示图片的距离最近的图片率先被加载,所述的及近原则是指与当前显示图片的距离越近加载的优先级越高。所述的距离是指两个图片序号的差值的绝对值,绝对值越大代表距离越远。还包括监视当前显示图片变化步骤,若当前显示图片发生变化,则进入所述的采用及远原则释放图片池中图片,若当前显示图片没有发生变化,则继续等待。所述采用及远原则释放图片包括以下步骤 图片池是否存满判断步骤,若图片池存满,则进入所述采用及远原则释放图片,若图片池没有存满,则直接进入所述采用及近原则加载图片;采用及远原则,寻找需要释放图片;是否找到符合条件图片文件步骤,若有,则进入释放图片步骤,若没有则进入监视当前显示图片变化步骤;释放图片步骤,把图片从图片池中释放出来。所述的采取及近原则加载图片进图片池包括以下步骤采用及近原则,寻找需要加载的文件;是否找到符合条件图片文件步骤,若有,则进入图片大小处理步骤,若没有则进入监视当前显示图片变化步骤;图片大小处理步骤,所述的图片大小处理步骤用于把尺寸超大的图片压缩到图片池所允许大小;加载图片进入图片池。图片大小处理步骤对于规格不一的ー组图片是ー个很必要的步骤,对于ー组图片,尺寸是有大也有小,对于ー些较大的图片,也许会占用太多的内存,比如ー张4912X3264的32位图片,将会占用掉约64MB的内存空间,这在某些内存较少的机器上是不允许的。所以,可以在图片池上定义所允许载入图片的最大尺寸,假如图片的实际尺寸超出所允许的最大尺寸,则将图片缩小到允许的最大尺寸后,再放到图片池中。还包括图片读取过程若需被显示的图片已经存储于图片池里,则从图片池中读取该图片;若需被显示的图片池没有存储在图片池里,则先读出空图片,等该图片载入到图片池后再读出。假如外部程序需要显示图片k,而图片k尚未载入到图片池中,那么,外部程序将会获取到空的图片。此时,外部程序将不显示图片,直到k图片载入到了图片池,由图片池管理模块发送消息到外部程序,外部程序响应消息,再刷新显示k图片。所述的图片池包括用于缓存缩略图的缩略图池和缓存正式图片的正式图池。对于既有图库预览,又有图片查看功能的程序,需要建立两个图片池。其中一个图片池用来存储预览的缩略图,这里称为“缩略图池”,由于缩略图的尺寸一般很小,可以依据可使用内存的大小,设置为允许存储几十到几百张的缩略图;而另ー个图片池用来存储正式查看的图片,这里称为“正式图池”,对于正式图池,也可依据可使用内存的大小,分配3-10张的存储空间。这两个图片池是独立存在的。当用户点击某张缩略图进入到图片查看时,假如对应的正式图片已载入到图片池中,则显示正式的图片;否则的话,从缩略图池中取出图片的缩略图,放大显示,用于代替正式图。直到正式图片载入到图片池后,再从正式图池中取出正式图片来显示。这样的做法,将会给用户更好的视觉效果。对于及远原则、及近原则參照附图2,现假设图片池可以缓存n张图片,假如当前浏览的图片为第k张图片,则可以将(k-n/2,k+n/2)范围内的图片载入到图片池中供备用。只有当用户当前浏览的图片发送了变化之后,再调整图片池中的图片,将超出范围的图片删除掉,并将已在新的(k-n/2,k+n/2)范围内,将如图2中所示,图片池容量为7张图片,当以第K张文件为中心,本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:唐侨邹玉兰徐青松何平
申请(专利权)人:惠州市德赛西威汽车电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1