图片内存管理方法及装置制造方法及图纸

技术编号:12294747 阅读:97 留言:0更新日期:2015-11-11 06:50
本发明专利技术提供了安卓操作系统的图片内存管理方法及装置。所提供的安卓操作系统的图片内存管理方法,包括以下步骤:a. 创建Lrucache硬引用缓存模块,设置Lrucache硬引用缓存模块1的缓存最大值;b. 创建软引用图片缓存模块,设置软引用图片缓存模块可保存的图片数量;c. 创建加入图片缓存模块,加入图片缓存模块3根据应用程序传入的图片地址将图片加载到内存中的Lrucache硬引用缓存模块;d. 创建获取图片缓存模块,当应用程序需要使用之前保存的图片时,传入图片地址以及尺寸到获取图片缓存模块。该安卓操作系统的图片内存管理方法及装置可优化应用程序的图片内存使用,使用户浏览图片清晰顺畅,提升了用户体验。

【技术实现步骤摘要】

本专利技术涉及移动设备内存管理
,具体涉及安卓操作系统的图片内存管理方法及装置
技术介绍
安卓操作系统(以下简称系统)已经运用于包括手机、平板、机顶盒等多种设备中,手机、平板、机顶盒等已经成为人们休闲娱乐不可缺少的设备。这些设备跟用户进行交互的时候使用的都是文字或文字与图片的组合,显示界面切换的越多,需要使用的图片越多。系统给应用程序的可使用内存空间是有限的,而加载一张IM的图片到内存中会大概占用1M的内存,而系统为每一个dalvik虚拟机分配的内存是有限的,例如google的Gl中,分配给应用程序的堆内存只有16M,后来的设备一般都为24M、36M,版本比较新的系统分配给应用程序的可用内存是64M,而一个应用程序将图片加载到内存中不可能使用全部的可使用内存,只能是一部分,需要另一部分让应用程序其他的信息加载到内存中计算运行。但是64M的内存对需要加载很多图片的应用程序来说,也是很少的,加载不了几张图片就会出现内存溢出(00M,Out Of Memory)的情况,出现这种情况时,应用程序往往会被系统强制关闭掉,给用户的使用带来了极大的不便。目前存在两种方法来解决内存溢出的问题:一种是降低图片的分辨率,来减少图片可占用的内存空间大小的方式来解决。这种方法是以牺牲图片的分辨率为代价的,图片的显示效果会变低,达不到预期的显示效果;另外,如果加载的图片太多的话,还是会达到应用程序可使用的内存上限的,该问题还是没有完全解决,只是可以使用的图片增多了。另一种是增大应用程序的可使用内存空间大小。这种方法则是提高了图片的内存空间大小,但是由于移动终端普遍内存空间有限,这个增大的内存空间还是会有个上限的。同时,增大了图片使用的内存空间,则减少了应用程序其他可用空间的大小,从而在一定应用程序上降低了应用程序的运行效率。同样的如果应用程序需要使用的图片太多,还是会达到应用程序的可使用内存上限。以上两种方案来看,都没有从根本上解决图片使用内存空间不足的问题。
技术实现思路
本专利技术的目的为提供彻底解决使用安卓操作系统浏览大批量图片时出现的内存溢出问题的安卓操作系统的图片内存管理方法。为此,本专利技术采用以下技术方案: 图片内存管理方法,包括以下步骤: a.创建Lrucache硬引用缓存模块,设置Lrucache硬引用缓存模块I的缓存最大值; b.创建软引用图片缓存模块,设置软引用图片缓存模块可保存的图片数量; c.创建加入图片缓存模块,加入图片缓存模块3根据应用程序传入的图片地址将图片加载到内存中的Lrucache硬引用缓存模块; d.创建获取图片缓存模块,当应用程序需要使用之前保存的图片时,传入图片地址以及尺寸到获取图片缓存模块; 获取图片缓存模块将应用程序传入的图片地址以及尺寸组成的字符串传入Lrucache硬引用缓存模块以获取这张图片,如果有获取则返回图片给应用程序; 如果没有获取,则将图片地址以及尺寸组成的字符串传入软引用缓存模块以获取这张图片,如果有获取则返回图片给应用程序;如没有获取则提示应用程序此图片还没有加载到内存中,需要重新将图片地址以及尺寸传入加入图片缓存模块中。本专利技术另一目的还提供了图片内存管理装置,其特征在于,包括: Lrucache硬引用缓存模块; 软引用图片缓存模块; 加入图片缓存模块,加入图片缓存模块根据应用程序传入的图片地址将图片加载到内存中的Lrucache硬引用缓存模块; 获取图片缓存模块,当应用程序需要使用之前保存的图片时,传入图片地址以及尺寸到获取图片缓存模块; 获取图片缓存模块将应用程序传入的图片地址以及尺寸组成的字符串传入Lrucache硬引用缓存模块以获取这张图片,如果有获取则返回图片给应用程序; 如果没有获取,则将图片地址以及尺寸组成的字符串传入软引用缓存模块以获取这张图片,如果有获取则返回图片给应用程序;如没有获取则提示应用程序此图片还没有加载到内存中,需要重新将图片地址以及尺寸传入加入图片缓存模块中。本专利技术提供的安卓操作系统的图片内存管理方法及装置可优化应用程序的图片内存使用,使用户浏览图片清晰顺畅,提升了用户体验。【附图说明】 图1为本专利技术实施例的安卓操作系统的图片内存管理装置的结构框图。【具体实施方式】以下结合附图及具体实施例对本专利技术作进一步说明。参照图1。本实施例提供的适用于安卓操作系统的图片内存管理方法包括以下步骤。a.创建Lrucache硬引用缓存模块1,设置Lrucache硬引用缓存模块I的缓存最大值。Lrucache硬引用缓存模块I是基于Lru算法的缓存模块,Lru算法的原理是把近期最少使用的数据给移除掉。设置Lrucache硬引用缓存模块I的缓存最大值,一般为应用程序可使用的内存的1/8,可根据设备或者应用程序的需要来设置Lrucache硬引用缓存模块I的大小。Lrucache硬引用缓存模块I是以key和value值来保存数据的,当需要保存图片数据时,以图片的地址以及尺寸组成的字符串为key、加载到内存中的图片bitmap为value将图片保存到内存中。使用图片的时候,根据图片的地址以及尺寸组成的字符串到Lrucache硬引用缓存模块I读取即可。当保存到Lrucache硬引用缓存模块I中的图片总大小超过Lrucache硬引用缓存模块I的缓存最大值时,根据Lru算法将近期最少使用的图片移出Lrucache硬引用缓存模块1,移出的图片对于应用程序可能还需要,所以移出的图片不从内存中释放。b.创建软引用图片缓存模块2,设置软引用图片缓存模块2可保存的图片数量。例如设置软引用图片缓存模块2可保存的图片数量为10时,表示软引用图片缓存丰旲块2可以保存10张图片。步骤a中Lrucache硬引用缓存模块I移出的图片是加入到软引用图片缓存模块2的集合队列首列,加入软引当前第1页1 2 本文档来自技高网
...

【技术保护点】
图片内存管理方法,其特征在于,包括以下步骤:a. 创建Lrucache硬引用缓存模块(1),设置所述Lrucache硬引用缓存模块(1)的缓存最大值;b. 创建软引用图片缓存模块(2),设置所述软引用图片缓存模块(2)可保存的图片数量;c. 创建加入图片缓存模块(3),所述加入图片缓存模块(3)根据应用程序传入的图片地址将图片加载到内存中的所述Lrucache硬引用缓存模块(1);d. 创建获取图片缓存模块(4),当应用程序需要使用之前保存的图片时,传入图片地址以及尺寸到所述获取图片缓存模块(4);所述获取图片缓存模块(4)将应用程序传入的图片地址以及尺寸组成的字符串传入所述Lrucache硬引用缓存模块(1)以获取这张图片,如果有获取则返回图片给应用程序;如果没有获取,则将图片地址以及尺寸组成的字符串传入所述软引用缓存模块(2)以获取这张图片,如果有获取则返回图片给应用程序;如没有获取则提示应用程序此图片还没有加载到内存中,需要重新将图片地址以及尺寸传入所述加入图片缓存模块(3)中。

【技术特征摘要】

【专利技术属性】
技术研发人员:张涢王会
申请(专利权)人:深圳市美贝壳科技有限公司
类型:发明
国别省市:广东;44

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

1