用于解决申请图片内存不足的内存分配方法及系统与制造工艺

文档序号:11057075阅读:587来源:国知局
用于解决申请图片内存不足的内存分配方法及系统与制造工艺
本发明涉及移动终端中的内存管理技术领域,特别是涉及图片的内存管理技术领域,具体为一种用于解决申请图片内存不足的内存分配方法及系统。

背景技术:
在移动终端系统中,不时会遇到内存溢出(OOM,OutOfMemory)的问题,即内存不够。特别是,在使用大量图片的时候,这个问题出现的几率比较高,在出现这个问题之后,对应的应用程序往往会强制关闭,给用户的使用带来了极大的不便。出现这个问题的原因是,当在申请为图片分配内存时,会对需要申请的内存空间进行一个判断,如果当前堆已使用的大小加上申请需要再次分配的内存大小超过了堆的最大内存值,则会抛出OOM的异常。目前存在两种解决方案:1、降低图片的分辨率,来减小图片可占用的内存空间大小的方式来解决。降低图片的分辨率,来减小图片可占用的内存空间大小的方法,是以牺牲图片的分辨率为代价的,图片显示的效果变差,达不到预期的显示效果;另外,如果图片过多,总的图片大小还是会很大,该问题还是不能完全解决。2、增大可申请的内存空间的大小增大可申请的内存空间大小的方法,则是提高了图片可申请的空间,但是由于移动终端普遍内存空间有限,如果增大了图片可申请的空间,则减小了程序其他可用空间的大小,从而在一定程度上降低了程序运行的效率;同样的,如果图片过多,可申请的空间大小可能仍然不够。从以上两种解决技术方案来看,都没有从根本上解决申请图片内存不足的问题。

技术实现要素:
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种用于解决申请图片内存不足的内存分配方法及系统,用于解决现有技术无法从根本上解决申请图片内存不足的问题。为实现上述目的及其他相关目的,本发明在一方面提供一种用于解决申请图片内存不足的内存分配方法,应用于智能移动终端的内存管理中,所述方法包括:步骤S1,申请图片资源;步骤S2,判断该图片资源是否存在,若是则退出本次内存分配,若否则接着执行步骤S3;步骤S3,判断当前图片所在的图层是否在用户可视的图层之内,若否则退出本次内存分配,若是则接着执行步骤S4;步骤S4,判断智能移动终端的内存是否足够为申请的图片资源分配内存,若是则执行步骤S5,若否则接着执行步骤S6;步骤S5,直接为申请的图片资源分配内存;步骤S6,判断内存堆中是否存在不在用户可视图层之内的图片资源,若否则停止为申请的图片资源分配内存,退出本次内存分配,若是则执行步骤S7;步骤S7,回收不在用户可视图层之内的图片资源的内存;并返回继续执行步骤S4。作为本发明的一种优选方案,在步骤S3中,若当前图片所在的图层不在用户可视的图层之内,则不为当前图片分配内存并退出本次内存分配。作为本发明的一种优选方案,在步骤S6中,若内存堆中不存在不在用户可视图层之内的图片资源,则还包括步骤S8,警告当前申请的图片资源过大无法申请足够的内存。本发明在另外一方面提供一种用于解决申请图片内存不足的内存分配系统,应用于智能移动终端的内存管理中,所述系统包括:内存申请模块,用于为图片资源请求内存;图层管理模块,用于记录并管理各图片所在的图层,将各图层从上到下排序并显示最上层的图层使得最上层的图层可视;内存管理模块,与所述内存申请模块和所述图层管理模块相连,记录智能移动终端当前已经使用的内存大小以及可以分配出去的内存大小,响应内存申请模块的请求,根据可以分配出去的内存大小分配内存,并在当前内存无法分配时回收不在用户可视图层之内的图片资源的内存。作为本发明的一种优选方案,所述内存管理模块具体包括:内存记录单元,记录智能移动终端当前已经使用的内存大小以及可以分配出去的内存大小;请求响应单元,与所述内存申请模块相连,响应并分析图片资源请求的内存大小;图层可视判断单元,与所述图层管理模块相连,判断当前图片所在的图层是否在用户可视的图层之内;内存大小判断单元,与所述内存记录单元和所述请求响应单元相连,判断智能移动终端的内存是否足够为申请的图片资源分配内存;堆内可视图层判断单元,判断内存堆中是否存在不在用户可视图层之内的图片资源;内存回收单元,与所述堆内可视图层判断单元相连,在堆中存在不在用户可视图层之内的图片资源时回收不在用户可视图层之内的图片资源的内存;内存分配单元,与所述内存大小判断单元相连,在智能移动终端的内存足够为申请的图片资源分配内存时为申请的图片资源分配内存。作为本发明的一种优选方案,所述内存管理模块还包括智能移动终端的内存不能为申请的图片资源分配内存且内存堆中不存在不在用户可视图层之内的图片资源时警告当前申请的图片资源过大无法申请足够的内存的警告单元。作为本发明的一种优选方案,所述内存管理模块还包括图片资源判断单元,所述图片资源判断单元用于判断请求的图片资源是否存在,若存在则无需为申请的图片资源分配内存。作为本发明的一种优选方案,在图层可视判断单元中,若当前图片所在的图层不在用户可视的图层之内,则不为当前图片分配内存。如上所述,本发明的一种用于解决申请图片内存不足的内存分配方法及系统,具有以下有益效果:1、本发明的技术方案不增加任何硬件设施,结合图层管理和内存管理,对资源的使用进行总体协调处理,在内存不足够的时候,自动回收当前不需要的内存,用于当前需要的内存分配,从而从根本上解决内存不足的问题。2、在本发明中,当前不需要显示的图片不申请资源,这样可以有效节省内存空间的使用大小。3、在本发明中,已经存在的图片不需要重新申请资源,这样可以提高图片的显示效率,并节省了内存空间。4、在本发明中,当前不需要显示的图片资源在内存不够的情况下可以回收资源,这样可以为当前需要显示的图片增加可用空间大小。附图说明图1显示为本发明的一种用于解决申请图片内存不足的内存分配方法的流程示意图。图2显示为本发明的一种用于解决申请图片内存不足的内存分配系统的结构示意图。图3显示为本发明的一种用于解决申请图片内存不足的内存分配系统的一种优选的结构示意图。元件标号说明1内存分配系统11内存申请模块12图层管理模块13内存管理模块131内存记录单元132请求响应单元133图片资源判断单元134图层可视判断单元135内存大小判断单元136堆内可视图层判断单元137内存回收单元138内存分配单...
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1